javascript - 关于 Ember 资源与路由的混淆

标签 javascript ember.js

我一直在阅读 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/routetestme/testresource

关于javascript - 关于 Ember 资源与路由的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699586/

相关文章:

javascript - 上传图片并重定向到新页面,无需刷新

c# - Controller 中的 MVC3 自动完成和 POST 方法

javascript - Ember.js 中的 SortBy 不适用于新创建的项目

javascript - 如何在 HTMLBars 中编写 Helpers?

ember.js - 这是将 Reveal 与 Ember.js 一起使用的正确方法吗?

javascript - NodeJS 和 Knex - 表不会自动创建

javascript - 谷歌浏览器 - 使用 ajax 时停滞不前,如何解决?

javascript - 获取 javascript 函数中另一个 javascript 函数的响应

node.js - 使用 Node 路由页面时出错错误代码 :Error: ENOENT, stat '/public/index.html'

javascript - ajax POST 成功后更新 ember 数据存储