我一直在阅读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,则会得到两个句子。如果testresourceresource,为什么我都没有得到?如果没有渲染第二个模板有什么意义?

供参考,我的依赖项如下所示:

"jquery": "^1.11.1",
"ember": "1.10.0",
"ember-data": "1.0.0-beta.15",

最佳答案

资源具有自己的名称空间,资源下方的路由在资源上方的名称下方有名称空间。

当Ember解析testresource模板时,它遵循此模式。如果它是路由器中的resource,它将查找名为testresource的模板。如果是路由器中的route,它将查找resource/route,即testme/testresource

09-20 08:27