我正在开发一个 Ember 应用程序,它真的很棒。但是我有一个烦人的问题,我无法解决。我在我的应用程序中使用路由,并在两个不同的控制器中使用它们自己的视图。如果我尝试使用从第一个控制器到第二个控制器的绑定属性,则该属性不会反映在第二个视图中。简而言之,我有这样的事情:
router = Em.Router.extend({.....});
App = Em.Application.create({
Router: router,
FirstCtrl: Em.Controller.extend({x:'ABC'}),
FirstView: Em.View.extend({...}),
SecondCtrl: Em.Controller.extend({xBinding:'Em.App.router.firstCtrl.x', y:'123'}),
SecondView: Em.View.extend({...}),
});
App.initialize();
Em.App = App;
如果在第二个视图的模板中我有这样的东西:
Binding property: {{x}}
Property with no binding: {{y}}
视图中未显示“ABC”,但“123”没有此类问题。
在我的浏览器中,我可以使用 Em.App.router.firstCtrl.x 从 Javascript 控制台访问该属性,但 Em.App.router.secondCtrl.x 返回未定义。所以,我的问题是为什么我不能访问该属性?我应该如何编写该绑定?
在此先感谢您的帮助