我是emberjs的新手,我试图在标记中使用两个不同的脚本标记渲染两个视图,但只有后一个会被渲染。
HTML:
<script type="text/x-handlebars">
{{view Ember.Select
contentBinding="App.peopleController"
selectionBinding="App.selectedPersonController.person"
optionLabelPath="content.fullName"
optionValuePath="content.id"}}
<p>Selected: {{App.selectedPersonController.person.fullName}}
(ID: {{App.selectedPersonController.person.id}})</p>
</script>
<script type="text/x-handlebars">
{{#view Ember.Checkbox}}
Check me!
{{/view}}
</script>
我也在这里创建了小提琴:jsfiddle
在这种情况下,我只能看到复选框,但看不到下拉选择视图。
答案 0 :(得分:1)
您必须为模板命名,没有名称的模板被视为ApplicationView的模板,我想如果您有几个没有名称的模板,则会选择最后一个模板。所以你必须这样做:
<script type="text/x-handlebars" data-template-name="check-box">
{{#view Ember.Checkbox}}
Check me!
{{/view}}
</script>
这是一个示例http://jsfiddle.net/zgLCr/419/ - 在另一个视图中包装Ember.Checkbox没有多大意义,但它显示了如何命名和呈现视图,尽管您可以在ApplicationView的模板中放置复选框:
<script type="text/x-handlebars">
{{view Ember.Select
contentBinding="App.peopleController"
selectionBinding="App.selectedPersonController.person"
optionLabelPath="content.fullName"
optionValuePath="content.id"}}
<p>Selected: {{App.selectedPersonController.person.fullName}}
(ID: {{App.selectedPersonController.person.id}})</p>
{{#view Ember.Checkbox}}
Check me!
{{/view}}
</script>