如何从ember视图中检索模型属性,该视图是在{{#each}}内创建的

时间:2013-08-12 05:57:02

标签: ember.js

我遇到了从我的模型中检索属性的问题,该视图是从数组控制器的{{#each}}循环内的模板创建的。这是片段:

{{#each controller}}
    {{view MyApp.MyView}}
{{/each}}

MyApp.MyView = Ember.View.extend({
    didInsertElement: function() {
        var property = this.get('controller.property');

        console.log(property); // Outputs "undefined"
    }
});

当我过去使用this.get('controller.property');时,它已经奏效了。但是,现在我使用的是ArrayController,它似乎不起作用。有没有办法可以从视图代码中的每个循环访问当前属性?

2 个答案:

答案 0 :(得分:2)

您可以使用content关键字将每个帮助器的当前项传递到视图的this属性:

{{#each controller}}
    {{view MyApp.MyView contentBinding="this"}}
{{/each}}

MyApp.MyView = Ember.View.extend({
    didInsertElement: function() {
        var someObject = this.get('content');
        console.log(someObject);
    }
});

答案 1 :(得分:0)

我认为你可以做到这一点:

{{#each controller}}
    {{view MyApp.MyView}}
{{/each}}

MyApp.MyView = Ember.View.extend({
    didInsertElement: function() {
        var someObject = this.get('parentView.controller');
        console.log(someObject);
    }
});