如何获得Ember的父View属性?

时间:2012-02-14 15:37:59

标签: ember.js

这可能很容易,但我很难弄清楚如何访问父视图的属性:

App.ParentView = Ember.View.extend({
  foo: 'bar',

  child_view: Ember.View.extend({

    init: function(){
       // get the value of App.ParentView.foo
       //  ???
    }
  })

});

3 个答案:

答案 0 :(得分:30)

获取视图:this.get('parentView')

获取foo this.get('parentView.foo')

的值

答案 1 :(得分:4)

在1.0.pre之前的Ember中,您还可以使用getPath方法,而不是get()链,以获得更简洁(通常更安全)的代码:

this.getPath("parentView.foo");

Ember 1.0.pre中很酷的是get()方法现在支持路径,所以你可以写

this.get("parentView.foo");

答案 2 :(得分:3)

汤姆是对的。我还创建了一个JS Fiddle来演示这个,并说明了特殊的contentView属性,它在这种情况下很有用:http://jsfiddle.net/rSLQK/2/