我一直在阅读 Ember CLI 101
以了解资源/路由的区别,但我无法理解以下情况:
我用 ember-cli 创建了一个新项目并运行了:
ember g resource testme --pod
和
ember g route testme/testresource --pod
.
然后,我添加了更改后的 testme/template.hbs
如下所示:
This is test me1.
{{outlet}}
并更改了 testme/testresource/template.hbs
看起来像
This is the test resource .
{{outlet}}
路线看起来像
this.resource('testme', function() {
this.resource('testresource', function() {});
});
为什么会导航到
http://localhost:4200/testme/testresource
只是呈现
This is test me1.
而不是
This is test me1. This is the test resource .
如果我将 testresource
更改为 route
,我会得到这两个句子。如果 testresource
是一个 resource
,为什么我不能同时获得两者?如果第二个模板没有被渲染,它有什么意义?
作为引用,我的依赖项如下所示:
"jquery": "^1.11.1",
"ember": "1.10.0",
"ember-data": "1.0.0-beta.15",
最佳答案
资源有自己的命名空间,资源下的路由命名空间在它们上面的资源之下。
当 Ember 解析 testresource
模板时,它遵循此模式。如果它是路由器中的 resource
,它将查找名为 testresource
的模板。如果它是路由器中的 route
,它将寻找 resource/route
即 testme/testresource
。
关于javascript - 关于 Ember 资源与路由的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699586/