假设我正在定义嵌套 View ,如下所示 ( code example on JSFiddle ):
App.ParentView = Ember.View.extend({
ChildView: Ember.View.extend({ ... }),
method: function() {
this.get('ChildView') // => this is the class, not the instance :(
}
});
{{#view App.ParentView}}
{{#view ChildView}}
...
{{/view}}
{{/view}}
我想避免在父 View 和 subview 之间绑定(bind)很多属性。相反,我想做类似 this.getPath('ChildView.foo')
的事情。但是 this.get('ChildView')
返回我使用 Ember.View.extend 创建的类,而不是实例,因此我无法访问属性。
是否有一种规范的方法可以从父 View 的方法内部访问 subview 的当前实例?
最佳答案
您可以向 View 传递 viewName
变量,并通过这种方式通过父 View 访问该 View 。
参见http://jsfiddle.net/Tx3NP/5/
{{#view App.ParentView}}
{{#view childView viewName="childViewInstance"}}
...
{{/view}}
{{/view}}
console.log(this.get('childViewInstance.value'));
或者您可以按照 @weltraumpirat 的建议进行操作并访问 this.get('childViews')
数组。
关于javascript - Ember.js:如何访问嵌套 View 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10389947/