【问题标题】:Ember Template values backed from Controller instead of model from Route从控制器支持的 Ember 模板值,而不是来自 Route 的模型
【发布时间】:2014-05-05 14:23:59
【问题描述】:

我有一个模板,其值是从模型中对应的路由中支持的。

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

我的基本理解是模板值是从 Route 的模型挂钩支持的。

在我的例子中,这些值是从控制器中填充的。我是在这里遗漏了什么还是它想要的行为。

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

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

【问题讨论】:

    标签: ember.js


    【解决方案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 中的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      相关资源
      最近更新 更多