Ember.js 控制器不需要满足

Ember.js 控制器不需要满足,ember.js,Ember.js,我设置了以下路线: this.resource('password_reset', { path: '/password_reset' }, function() { this.route("request"); // request a password reset this.route("sent"); // instruct user that email has been sent this.route("claim"); // receive n

我设置了以下路线:

this.resource('password_reset', { path: '/password_reset' }, function() {
    this.route("request");  // request a password reset
    this.route("sent");     // instruct user that email has been sent
    this.route("claim");    // receive nonce link from email to claim the reset
});
当用户请求重置时,他们会被要求输入用户名或电子邮件地址以识别自己:

当用户按下“请求重置”按钮时,我们将切换到“密码重置.发送”路径,在该路径中,用户将被告知已发送的电子邮件

作为一个方便的功能,他们有一个按钮,可以重新发送电子邮件。为了实现这一点,我需要控制器提供的
用户名
属性,用于
密码重置。请求
路由。我想我应该使用“需要”属性来实现这一点:

App.PasswordResetSentController = Ember.ObjectController.extend({
    needs:'password_reset.request',
    usernameBinding: "controllers.password_reset.request.username",
    username: null,
现在我没有从中得到任何错误,但它似乎也不起作用。调试器将PasswordResetSentController的状态显示为:

这里有很多我不明白的地方。当然,离我心最近、最亲爱的是
用户名
,它仍然处于初始化状态null。除此之外,为什么两个
App.PasswordResetSentController
分组框中的所有属性都被划掉了?另外,为什么这两个框都用于
App.PasswordResetSentController

我查看了“controllers”和“usernameBinding”属性,希望能在其中找到自己的方法,但它们并没有帮助我阐明这一点。对于那些余烬火焰燃烧得更亮的人,以下是绑定对象:


问题只在于绑定

将密码ResetSentController更改为

App.PasswordResetSentController = Ember.ObjectController.extend({
    needs:'password_reset.request',
    username: Ember.computed.alias("controllers.password_reset.request.username"),
});

绑定中存在一些问题,建议使用计算属性来代替绑定,本文将对此进行讨论,谢谢。好建议。我现在收到这个错误,虽然。。。知道它到底在说什么吗<代码>未捕获引用错误:#需要不包括“密码重置”。要从中访问密码重置控制器,应具有一个“需要”属性,该属性是它可以访问的控制器数组。如果我将计算引用更改为:
请求:Ember.computed.alias(“密码重置.request”)
我没有收到任何错误,但调试器声明
请求
属性为null,而不是指向密码重置.request控制器的指针。尝试将需求更改为
密码重置请求
,将别名更改为
控制器。密码重置请求。用户名
,然后检查它是否有效。哇。成功了。这是一个丑陋的命名参考,但如果它起作用,我想我会停止抱怨。