我正在尝试使用Ember.View
实现引导折叠(本节末尾的简单可折叠)我找不到绑定视图 ID 的方法,
折叠车把
<button type="button" class="btn btn-danger" data-toggle="collapse" {{bindAttr data-target="view.contentId"}}>
simple collapsible
</button>
{{view view.collapseContentView class="collapse in"}}
我的观点:
App.CollapseView = Ember.View.extend({
templateName: 'collapse',
collapseContentView: Ember.View.extend({
template: Ember.Handlebars.compile("Collapse body text")
}),
contentId: function(){
return "#"+this.get('collapseContentView.elementId')
}.property()
})
我不想手动设置id,而是想使用余烬生成的id,这不起作用的任何原因?
collapseContentView
是一个视图类(extend
),在你实例化它之前不会有elementId
(create
)。
在您的模板中,当您执行{{view view.collapseContentView}}
时,这将创建视图的新实例,但它不会更改 view.collapseContentView
的值,它仍然是一个类,因此view.collapseContentView.elementId
没有意义。
我建议使用 Ember.ContainerView,这是以编程方式控制视图的好方法。下面是使用容器视图处理两个视图之间的事件的示例 http://www.emberplay.com#/workspace/1140286638。