2

我正在尝试在 TopView 模板中显示 TopController 属性。在 TopView 中,我有sectionBinding: 'controller.section'.

根据我对 Ember.js 的理解,在 TopView 中,该controller属性应该是指我的 TopController。然而它似乎指的是ApplicationController?继续阅读:

在我的路由器中,我有router.set('topController.section', 'index');......但在这种情况下似乎没有任何作用。将其更改为router.set('applicationController.section', 'index'); 有效,并且{{section}}TopView 模板中的部分更改为“索引”。

我创建了两个小提琴来显示我的问题。第一个不起作用:

故障-> http://jsfiddle.net/8tQ4q/4/

第二个确实有效:

作品-> http://jsfiddle.net/8tQ4q/5/

唯一的区别是topController/中的applicationController部分router.set()。知道我做错了什么吗?

4

2 回答 2

3

我不确定您为什么希望topController连接到TopView. 你没有做任何事情来建立这种联系。我认为您可能会感到困惑,因为connectOutlet('top')会创建一个TopView连接到topController. 但是,您并没有在应用程序的任何地方执行此操作。

你也不需要sectionBinding. 如果您controller在视图上定义了一个,它将是默认上下文。

于 2012-08-10T16:22:45.100 回答
-1

我想你想要做的是:

router.get('topController').set('section', 'index');
于 2012-08-10T14:32:18.147 回答