我正在尝试创建一个简单的嵌套视图。 “子”视图是Ember.Select。 “选择”参数需要来自父级,我无法让它工作。怎么做到这一点?
<script type="text/x-handlebars" data-template-name="application">
{{view App.SelectView contentBindingForSelect="App.names"}}
</script>
<script type="text/x-handlebars" data-template-name="select-view">
<h1>In SelectView</h1>
{{view view.childSelectView contentBinding="view.contentBindingForSelect"}}
</script>
window.App = Ember.Application.create();
App.names = ["Yehuda", "Tom"];
App.ApplicationView = Ember.View.extend({
templateName: 'application',
});
App.SelectView = Ember.View.extend({
templateName: 'select-view',
childSelectView: Ember.Select
});
JSFiddle示例:http://jsfiddle.net/kRwcU/1/
答案 0 :(得分:1)
我发现了这个问题......我错过了Ember中“惯例”的这一部分:“contentBindingForSelect”作为名称不起作用。需要在结尾处保留“绑定”一词,例如:“contentForSelectBinding”。我纠正了JSFiddle。现在工作正常。
<script type="text/x-handlebars" data-template-name="application">
<h1>Hello from Ember.js</h1>
{{view App.SelectView contentForSelectBinding="App.names"}}
</script>
<script type="text/x-handlebars" data-template-name="select-view">
<h1>In SelectView</h1>
{{view view.childSelectView contentBinding="view.contentForSelect"}}
</script>
答案 1 :(得分:0)
我刚刚开始在ember.js中使用但是如果你检查你当前为空的select元素,你会看到ember实际上在select标签中呈现了你的视图html。这显然是垃圾html所以无法正确呈现。
我怀疑正确答案是您不希望以这种方式扩展ember.select以实现功能需求。