如何从控制器访问模型?

Fel*_*lix 5 ember.js ember-cli

我似乎无法从控制器内部获取模型,即使控制器似乎设置了模型属性。下列:

export default Ember.ObjectController.extend({
    init: function() {
        this._super();
        console.log(this.get('model'));
        console.log(this.model);
        console.log(this);
    }
}
Run Code Online (Sandbox Code Playgroud)

打印出来:

在此处输入图片说明

有任何想法吗?

kiw*_*ver 3

anEmber.ObjectController是模型的代理。因此,可以使用this您在示例中找到的模型来引用该模型。那么就在模板中{{this.aModelAttr}}或只是 {{aModelAttr}} 中。就像你的问题表明这有点令人困惑。

ObjectController自 Ember 1.11.0 起已弃用。因此,为了简化使用Ember.Controller,在您的控制器中,您可以通过以下方式引用模型this.get('model')

然后在模板中使用{{model.aModelAttr}}

给出model特定的域,即:书籍或用户名使用

export default Ember.Controller.extend({
    domainSpecificName: Ember.computed.alias('model')
}
Run Code Online (Sandbox Code Playgroud)

然后在您的模板中您可以使用{{domainSpecificName.aModelAttr}}