我有以下的(ember-1.4.0
):如何渲染嵌套視圖(相對視圖)
App.DateRangeSelectorView = Ember.View.extend({
templateName: 'date-range-selector',
selectedBinding: 'controller.selected',
dateRangeSelectorItemView: Ember.View.extend({
tagName: 'li',
classNameBindings: ['isActive:active'],
isActive: function() {
return this.get('item') === this.get('parentView.selected');
}.property('item', 'parentView.selected')
})
});
而且模板:
<script type="text/x-handlebars" data-template-name="date-range-selector">
<ul class="nav nav-pills" style="margin-bottom: 10px;">
{{#view view.dateRangeSelectorItemView item="today"}}
<a href="#" {{action gotoToday}} >{{controller.content.today.label}}</a>
{{/view}}
....
</ul>
</script>
我按照準則的規定here,特別是:
當像這樣嵌套視圖類時,請務必使用小寫字母 字母,因爲Ember將以大寫字母解釋爲全球財產 。
謝謝,但沒有感謝:餘燼被固執地說:
Uncaught Error: Assertion Failed: Unable to find view at path 'view.dateRangeSelectorItemView'
我曾嘗試與不view.
前綴,但沒有運氣。我如何呈現嵌套視圖?
EDIT
問題似乎是由容器執行的查找失敗。也許有一些資本化或名稱強制規則,我沒有得到正確的。我想列出所有可用的視圖,以便我可以識別我的視圖是否存在,也許有一個稍微不同的名稱。
如何列出所有可用(註冊?)視圖,包括嵌套視圖?這將包括dateRangeSelectorItemView
,這是嵌套在App.DateRangeSelectorView
內的視圖,並且未在應用程序本身中定義。
我猜我期待的是列出所有對象的方式,也都是Ember.View
擴展(與他們查找的名字!):Ember.View.extend()
請嘗試使用'{{#view App.DateRangeSelectorItemView item =「today」}}呈現視圖' –