如何在Handlebars中访问Ember Route变量?

时间:2017-06-26 17:07:12

标签: javascript ember.js

我今天注意到了一些有趣的东西。

如果我在Controller中创建变量

export default Ember.Controller.extend({
   controllerFoo: "Cut"
});

我在路线

中创建了一个类似的变量
export default Ember.Route.extend({
    routeFoo: "Copy"
});

当我在.hbs中打印时:

controllerFoo:{{controllerFoo}}
<hr>
routeFoo: {{routeFoo}}

只显示controllerFoo。我认为Route和Controller变量可以互换使用。如果我想使用路由变量,我该怎么做?或者也许是不好的做法?

1 个答案:

答案 0 :(得分:2)

模板上下文是控制器,因此大多数状态将由控制器维护。如果你需要将一些属性从路径传递给模板,那么你需要使用Route的model钩子或使用Route的setupController钩子并在控制器中设置所需的属性。