我已经阅读了 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”?有不止一种方法可以解决这个问题吗?这类事情的最佳设计模式是什么?
谢谢!