Model view controller 将Ember.TextField值绑定到另一个控制器';s属性

Model view controller 将Ember.TextField值绑定到另一个控制器';s属性,model-view-controller,ember.js,Model View Controller,Ember.js,My index.html显示: <script type="text/x-handlebars" data-template-name="loggedout"> <label>Username: </label>{{view Ember.TextField placeholder="your username" valueBinding="App.LoggedoutController.username"}}<br /> <labe

My index.html显示:

 <script type="text/x-handlebars" data-template-name="loggedout">
 <label>Username: </label>{{view Ember.TextField placeholder="your username"  valueBinding="App.LoggedoutController.username"}}<br />
 <label>Password: </label>{{view Ember.TextField placeholder="your password" valueBinding="App.LoggedoutController.password" type="password"}}<br />
 <br /><button {{action login}}>Login</button>
 </script>
但支票是空的


值绑定中的路径App.LoggedoutController.username错误。使用App.LoggedoutController,您正在引用使用Ember.Controller.extend()定义的类。您可能在代码的某个地方使用了App.initialize()。这将导致框架实例化控制器。然后,您可以使用路径App.router.loggedoutController检索它

记住:实例的名称总是以小写字母开头。上课总是有一个大的

因此,解决方案是:使用valueBindung=“App.router.loggedoutController.username”


编辑:您的小提琴不工作,因为您没有链接所需的余烬库。请看“添加资源”中的左侧。您必须为Ember和Handlebar JS文件指定正确的URL。

您的valueBinding中的路径App.LoggedoutController.username是错误的。使用App.LoggedoutController,您正在引用使用Ember.Controller.extend()定义的类。您可能在代码的某个地方使用了App.initialize()。这将导致框架实例化控制器。然后,您可以使用路径App.router.loggedoutController检索它

记住:实例的名称总是以小写字母开头。上课总是有一个大的

因此,解决方案是:使用valueBindung=“App.router.loggedoutController.username”


编辑:您的小提琴不工作,因为您没有链接所需的余烬库。请看“添加资源”中的左侧。您必须为Ember和Handlebar JS文件指定正确的URL。

问题在于camelCasing&使用
路由器
关键字,绑定中没有路由器。。。
你曾经
App.outController.username

而不是App.router.outController.username

这是工作

问题在于camelCasing&使用
路由器
关键字,绑定中没有路由器。。。
你曾经
App.outController.username

而不是App.router.outController.username
这是有效的

如果你在路由器中调用“connectOutlet”,那么你就不必担心App.loggedOutController位(从MVC的角度来看,最好尽可能不使用模板)

然后,在模板中,您只需拥有:

{{view Ember.TextField placeholder="your username"  valueBinding="username"}}
如果在路由器中调用“connectOutlet”,则不必担心App.loggedOutController位(从MVC的角度来看,最好尽可能将“App.”保留在模板之外)

然后,在模板中,您只需拥有:

{{view Ember.TextField placeholder="your username"  valueBinding="username"}}

试试valueBinding=“App.router.LoggedoutController.username”或是发一篇简单的文章……它不起作用。我希望不费吹灰之力就能解决这个问题。如何检查我是否在rigth视图中?可能这个.get('username')不起作用。哦,应该是“App.router.loggedOutController.username”(camelCased),这个.get('username')是正确的…添加了fiddle。仍然不起作用你应该接受我的答案,而不是那些根据我的评论发布答案的人…欢迎你通过waytry valueBinding=“App.router.LoggedoutController.username”或发布一个简单的提琴…它不起作用。我希望不费吹灰之力就能解决这个问题。如何检查我是否在rigth视图中?可能这个.get('username')不起作用。哦,应该是“App.router.loggedOutController.username”(camelCased),这个.get('username')是正确的…添加了fiddle。仍然不工作你应该接受我的答案,而不是根据我的评论发布答案的人…顺便说一句,欢迎你
{{view Ember.TextField placeholder="your username"  valueBinding="username"}}