Ember模板值由Controller支持,而不是来自Route的模型

时间:2014-05-05 06:13:26

标签: ember.js

我有一个模板,其值在相应的Route中从模型中支持。

但是当我在Controller中使用相同的名称值时,模板值将从Controller更新,而不是来自Route的值。

我的基本理解是模板值来自Route的模型钩子。

在我的例子中,值是从Controller填充的。我错过了这里的东西或它想要的行为。

链接 - > http://emberjs.jsbin.com/qufah/1/edit

请注释控制器代码,以便从模型中填充值。

1 个答案:

答案 0 :(得分:1)

默认行为是Ember将模板绑定到控制器属性。但是,如果你的控制器是ObjectController,它会做一些更聪明的事情:你的模型中定义但控制器中的任何属性都将被继承并可用于你的模板!

例如,

App.PostRoute = Ember.Route.extend({
  model: function() {
    return {title: "First Post", body: "Great job."};
  }
}); 

App.PostController = Ember.ObjectController.extend({
  title: "This post has been intercepted!"
});  

使用模板:

<h1>{{title}}</h1>
<p>{{body}}</p>

将显示截取的标题与原始博文。

修改:以下是your JSBin中的更改。