javascript - Ember.js:如何访问嵌套 View 实例

标签 javascript ember.js

假设我正在定义嵌套 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/

相关文章:

javascript - 如何计算我创建的对象数量?

ember.js - Ember-data 转换不适用于 ember-cli

javascript - 是否有 JavaScript 的 Function.prototype.bind 的 Ruby 等价物?

javascript - 如何检查所有四个多选是否都选择了某个值?

javascript - 所有测试文件中的 Jest Mock 用户模块

javascript - 我怎样才能为 map 上的所有形状设置边界?

css - yeoman grunt build 不部署组件 css

ember.js - Ember-CLI:修复 "' Ember' 未定义”?

ember.js - emberjs 子级嵌套列表

javascript - 使用 ember-data 的非 CRUD 操作