我已经定义了一个处理点击事件的应用程序视图。当有人在视图外单击时,应用程序单击功能会触发并将所有子视图的“活动”属性设置为 false。我通过分配“viewName”来选择特定的视图。这对我的几个视图很有用,但是我遇到了一个在页面呈现后实例化的视图的障碍(它处于可以在模板中变为 true 的条件)。我希望 applicationView 能够接受它,但事实并非如此。如何获取应用程序中实例化的所有视图的列表(最好不使用内部 API)?
App.ApplicationView = Ember.View.extend({
templateName: 'application',
click: function () {
this.get('childViews').filterProperty('viewName','applicationViewClickChild').setEach('active', false);
}
});
App.PersonView = Ember.View.extend({
templateName: 'views/person',
active: false,
viewName: 'applicationViewClickChild',
click: function () {
if (this.get('active')) {
this.set('active', false);
} else {
this.set('active', true);
}
return false;
}
});