我正在尝试设置Ember路由器应用程序,但是我无法使用Controller对象的connectOulet方法将视图连接到特定的出口(带名称的出口,即:{{outlet outletName}}
)。我已经设置了一个JSFiddle示例,有人可以告诉我我做错了什么或者实际上是怎么做的?
JSFiddle: http://jsfiddle.net/TmKwd/
答案 0 :(得分:6)
嗯,我无法准确解释原因,但是ApplicationController不能定义为Ember.ObjectController,而只能定义为Ember.Controller。
<强>更新强>
快速调试后,这是在applicationController上调用connectOutlet时,尤其是行set(this, outletName, view);
由于outletName
(在您的示例中,这是“一个”和“两个”)是applicationController中的未知属性,并且由于您将applicationController定义为ObjectController(因此包含内容属性的代理),Ember。 js尝试在内容上设置视图,这是未定义/ null。
结果,抛出了这个错误:
Uncaught Error: assertion failed: Cannot delegate set('one', <App.ViewOneView:ember208>) to the 'content' property of object proxy <App.ApplicationController:ember209>: its 'content' is undefined.