Ember.jsのドキュメントとサンプルを読みましたが、バインディング付きのネストされたビューは少し混乱しています。
私は次の省略されたHTMLを持っています(正常に動作しています):
{{#view App.outerArea}}
{{#view innerArea}}
{{view Ember.TextField valueBinding="parentView.parentView.bound.username"}}
{{/view}}
{{/view}}
...およびJavaScript(これも正常に機能しています):
App = Ember.Application.create();
App.outerArea = Ember.View.extend({
bound : {
username:'test',
},
innerArea: Ember.View.extend({}),
});
(HTMLからinnerAreaを削除すると、「parentView.parentView。」を完全に削除できます。)
これをクリーンアップするために私は試しました:
...
{{view Ember.TextField valueBinding="bound.username"}}
...
innerArea: Ember.View.extend({
bound: function() {
return App.outerArea.bound;
}
})
そして試した:
{{view Ember.TextField valueBinding="getPath(bound.username)"}} // with above bound: function().
そして他のいくつかの組み合わせですが、それらはまったく機能しません。
TextField valueBindingから「parentView.parentView.bound.username」を参照するためのより洗練された方法はありますか?これには複数のアプローチがありますか?この種のものに最適なデザインパターンは何ですか?
ありがとうございました!