Ember.js - 从Route中的激活功能访问模型属性

时间:2014-06-17 16:37:12

标签: javascript ember.js

我有一个Ember VeteranRoute设置如下。我的退伍军人模型有名称,日期,信息和奖牌属性。我想访问退伍军人的名字,这样我就可以将它添加到标题标签中,正如你在激活功能中看到的那样。

我可以看到在路由上下文中将this注销到控制台会显示以下内容,其中包含我想要访问的所有数据。

Shows console log of "this"

如何从上面的数据中访问name属性?我尝试了各种this.Context._data.name组合,但似乎都没有。

app.js VeteranRoute

App.VeteranRoute = Ember.Route.extend({
    model: function(params){
        return this.store.find("veteran", params.veteran_id);
    },
    activate: function() {
        $(document).attr('title',  this.veteran.name);
        console.log(this);
    }
});

1 个答案:

答案 0 :(得分:3)

在模型解析并可用时,在setupControllerafterModel中执行此操作。

App.VeteranRoute = Ember.Route.extend({
    model: function(params){
        return this.store.find("veteran", params.veteran_id);
    },
    setupController: function(controller, model) {
        this._super(controller, model);
        $(document).attr('title',  model.get('name;));

    }
});