Ember js:链接到不刷新数据

时间:2014-11-30 09:41:00

标签: javascript ember.js

 {{#each feed in model.feeddefinitions}}
            <tr>
                <td> {{#link-to 'feeddefinition' feed}}{{feed.displayTitle}}{{/link-to}} </td>
                <td> {{feed.url}} </td>
                <td> {{feed.type}} </td>

路线

Backoffice.FeeddefinitionRoute = Ember.Route.extend({
    model: function (params) {
        return this.get('store').find('feeddefinition', params.feeddefinition_id);
    }
});

模型

Backoffice.Feeddefinition = DS.Model.extend({
    createdAt: DS.attr('date'),
    modifiedAt: DS.attr('date'),
    url: DS.attr('string'),
    type: DS.attr('string'),
    link: DS.attr('string'),
    title: DS.attr('string'),
    disabled: DS.attr('boolean'),
    automaticallyAdded: DS.attr('boolean'),
    userAdded: DS.attr('boolean'),
    sections: DS.hasMany('sections', {async: true}),
    sectionfeeds: DS.hasMany('sectionfeeds', {async: true}),
    displayTitle: function () {
        return this.get('title') === '' ? 'No Title' : this.get('title');
    }.property('title')
});

由于我使用feed来链接到,所以它需要正确的页面,但不会刷新数据。

注意:我尝试使用它,例如                      {{#link-to&#39; feeddefinition&#39;这个}}但是指向父ID而不是feed id。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您将模型直接传递给link-to助手,这意味着Ember为going to skip the model hook entirely。它假定如果您明确地传入模型,它已经包含您想要的数据,并且不需要以任何方式进行修改。我的建议是使用afterModel钩子刷新模型。

afterModel: function(resolvedModel) {
    return resolvedModel.reload();
}