我最近开始在Ember-CLI中使用Ember.js,我非常兴奋。 但有些事情对我来说并不清楚。
这是我的路由器:
this.resource("authenticated", { path: '/' }, function() {
this.resource("contacts", function() {
this.resource("contact", { path: ':id' });
});
this.resource("chats", function() {
this.resource("chat", { path: ':id' });
});
this.resource("settings", function() {
this.resource("setting", { path: ':id' });
});
});
问题是 - 为什么在第二次嵌套'解析器'之后开始在'经过验证的'资源之外找到对象?
例如
my-app/pods/chats/index/view
但是预料到了 我的应用内/荚/验证/聊天/索引/视图
为什么'认证'错过了?
答案 0 :(得分:0)
您在网址中未应用经过身份验证的路由,因为您已将其分配给根目录:{ path: '/'}
。
您应该将路径更改为“经过身份验证的”'或者将它们全部一起删除:
this.resource("authenticated", function() {
...
});
但是,现在,当用户导航到my-app/pods/authenticated
时,经过身份验证的仅呈现。如果您仍希望将身份验证呈现为索引,则应为嵌套资源添加前缀:
this.resource("authenticated", { path: '/' }, function() {
this.resource("contacts", { path: '/authenticated/contacts' }, function() {
...
});
this.resource("chats", , { path: '/authenticated/chats' }, function() {
...
});
...
});
我希望这对你有所帮助。