我试图创建一个Ember.Route
,我需要相应的模板来了解当前路径的路径。我知道那里有ApplicationController.currentPath
,但是我的路线是setupController()
我可以得到ApplicationController
,但是如果我得到currentPath
属性,它将返回undefined
。控制器的创建顺序
这是为什么?
这是我的代码(简化为只显示问题):
AxpoEM = Ember.Application.create({});
AxpoEM.Router.map(function() {
this.route('something', { path: '/'})
});
AxpoEM.SomethingRoute = Ember.Route.extend({
setupController: function(controller, model) {
var path = this.controllerFor('application').get('currentPath');
controller.set('path', path);
}
});
这是HTML:
<script type="text/x-handlebars" data-template-name="something">
Path: {{path}}
</script>
这里是一个(非)工作小提琴:
我没有给SomethingController直接访问。有问题的代码位于我的真实路由继承的ParentRoute中,因此没有自动创建的ParentController来执行您的建议。因此,代码应该生活在ParentRoute(我猜)。 –