2014-10-28 61 views
2

我在我的应用程序中设置了一组嵌套资源。我需要为我的一些路线使用beforeModel和afterModel挂钩。但是,当试图调用一个函数或获取另一个控制器的属性时,我收到一个错误,指出the controller named {name} cannot be found。当我尝试在我的嵌套路由中使用this.controllerFor('name')时,会发生这种情况。有没有解决方法?不能在Ember中使用controller/For嵌套资源

+0

'controllerFor'已被弃用。你应该使用'needs:[]'。这里是我写到的有关这个的最近答案:http://stackoverflow.com/a/25175102/1710611 – rog 2014-10-29 05:49:39

回答

2

为了使用controllerFor必须定义控制器。如果你的控制器是动态生成的,要求Ember给你它不起作用。在setupController阶段解析所有模型(包括模型挂钩之前和之后)之后,才会生成控制器。

+0

看看我的代码有一些重构,我推荐去除controllerFor的需要。感谢您的澄清! – csm232s 2014-10-28 21:01:59