Ember link-to params在模型函数中为空

时间:2015-03-17 04:16:17

标签: javascript ember.js ember-data

我有以下地图

路线图

App.Router.map(function () {
    this.resource('index', {path: "/"}, function () {
        this.resource('project', {path: "/project/:id"}, function () {
            this.resource('settings'); 
        });
    });
});

正在加载模型

我使用Ember Data加载模型:

App.IndexRoute = Ember.Route.extend({
    model: function () {
        return this.store.find('project');
    }
});

App.Project = DS.Model.extend({
    name: DS.attr("string"),
    display_name: DS.attr('string')
});

App.ProjectRoute = Ember.Route.extend({
    model: function (params) {
        return this.store.find('project', params.id)
    }
});

App.Settings = DS.Model.extend({
    category: DS.attr(),
    /* bunch of properties */
    project: DS.belongsTo('project')
});

App.SettingsRoute = Ember.Route.extend({
    model: function (params) {
        return this.store.find('settings', params.id);
    }
});

模板

让我们说项目有以下模板:

<script type="text/x-handlebars" id="project">
    <div class="sidebar">
        {{#link-to 'settings' id}}Settings{{/link-to}}
    </div>
    <div class="editor">
        {{outlet}}
    </div>
</script>

SettingsRoute中模型函数的params参数始终为空。 params.id中的return this.store.find('settings', params.id);undefined。我做错了什么?

修改

我的问题是,我使用了“设置”这个词来设置&#39;和ember假设设置不是单例。我认为这些类型的假设在框架中非常不寻常,Ember应该强迫开发人员处理这个问题。

0 个答案:

没有答案