2012-02-14 3 views
17

これは簡単に超えて、おそらくですが、私は、親ビューのプロパティにアクセスする方法を見つけ出すのに苦労抱えている:fooの値を取得するにはthis.get('parentView')Emberの親ビューのプロパティを取得するには?

:ビューを取得するには

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

    child_view: Ember.View.extend({ 

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

}); 
+0

を書くことができるようにget()方法は今、パスをサポートしていることである男であることに注意してください親ビューにアクセスする場合は、コードの匂いの兆候です。しかし、ここで詳細を知らなくても、それ以上のことは言い難いです。 –

答えて

30

this.get('parentView.foo')

+1

ハンドルバーの親ビューにアクセスする場合、 '{{view.parentView.foo}}'を使用できます。すなわち: '{{#view Wrapper}}

{{view.parentView.foo}}
{{/ view}}' – chuckg

+2

初心者が頭を上げます!上記のコードは、誤解を招くApp.parentViewを示しています。ビューに与えた名前に関係なく常に( "parentView")を取得する必要があります。 – Nico

+0

ありがとうございます。ちょうど私に多くの時間を救った。 – DexterW

3

トムは正しいです。あなたもgetPathメソッドを使用することができ1.0.pre前エンバーでhttp://jsfiddle.net/rSLQK/2/

4

、代わりにGETの鎖から:私もこれを実証し、またこのような状況に役立つことができ、特別なcontentViewプロパティを、説明するためにJSフィドルを作成しました()は、より簡潔(と一般的に安全な)コードのために:

this.getPath("parentView.foo"); 

エンバーの1.0.preにクールだあなたは

this.get("parentView.foo"); 
関連する問題