为什么我必须在模板中的emberjs中使用model关键字?

时间:2013-07-08 14:18:41

标签: ember.js handlebars.js

我在我的emberjs项目中创建了一个模板作为部分,它可以很好地用于我的ember应用程序中的一个页面。当我尝试在另一个页面中重复使用partial时,我需要使用model关键字使其在两个页面中都能正常工作。

我有样品把手模板

{{SomeProperty.NestedProperty}}

成了

{{model.SomeProperty.NestedProperty}}

为什么我需要从第一个更改为第二个?

我的路线与此类似:

this.resource("foretak", {path: "/foretak"}, function() {
    this.route('opprett', { path: "/nytt/:org_nr" });
    this.route('detaljer', { path: "/:id" });
});

第一条路线(opprett)使用了我不必指定model的模板,但是对于第二条路线,我需要为所有路线添加前缀以使其适用于两条路线。

路线:

SFag.ForetakOpprettRoute = Ember.Route.extend({
    model: function(params) {
        return params.org_nr;
    },
    setupController: function(controller, model) {
        var opprettForetak = SFag.OpprettForetak.get(model);
        controller.set('model', opprettForetak);
    }
});

SFag.ForetakDetaljerRoute = Ember.Route.extend({
    model: function(params) {
        return params.id;
    },
    setupController: function(controller, id) {
        var foretak = SFag.Foretak.get(id);
        controller.set('model', foretak);
    }
});

控制器为空。方法SFag.Foretak.getSFag.OpprettForetak.get从不同的端点获取相同类型的数据。

此外,如果我写'{{SomeProperty}}',我会在两种情况下看到'[Object object]',所以它会被绑定。

0 个答案:

没有答案