【发布时间】:2014-02-16 21:31:26
【问题描述】:
我有以下 (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 会将带有大写字母的属性解释为 全局属性。
谢谢,但不用谢:ember 固执地说:
Uncaught Error: Assertion Failed: Unable to find view at path 'view.dateRangeSelectorItemView'
我尝试过使用和不使用view. 前缀,但没有运气。如何渲染嵌套视图?
编辑
问题似乎是容器执行的查找失败。也许有一些我不正确的大写或名称强制规则。我想列出所有可用的视图,以便我可以识别我的视图是否存在,可能名称略有不同。
如何列出所有可用(已注册?)视图,包括嵌套视图?这将包括dateRangeSelectorItemView,这是一个嵌套在App.DateRangeSelectorView 中的视图,并且未在应用程序本身中定义。
我想我正在寻找一种列出所有对象(及其查找名称!)的方法,这些对象是 Ember.View:Ember.View.extend() 的扩展名
【问题讨论】:
-
请尝试使用
{{#view App.DateRangeSelectorItemView item="today"}}渲染视图
标签: ember.js