我的模板就像
<script type="text/x-handlebars" >
{{view Ember.Select contentBinding="ResAdmin.adminController.softwares" selectionBinding="ResAdmin.adminController.selection" optionLabelPath="name" optionValuePath="id" }}
</script>
我的控制器就像
ResAdmin.adminController = Ember.Controller.extend({
selection: {
id: '889C0E73-1587-41D5-8073-FD29FF76CF00',
name: "$$"},
softwares: [
{
id: '92E9862E-DAE5-4CC8-ACDF-7E6418641F7D',
name: "$"},
{
id: '889C0E73-1587-41D5-8073-FD29FF76CF00',
name: "$$"},
{
id: '47A56B26-A64A-4967-A9F6-B9D69B2CA145',
name: "$$$"},
{
id: '417993DB-48BF-4BA9-BE0A-D6A53C6D8325',
name: "$$$$"}
]
});
我的下拉列表没有生成。如果我从模板中删除selectionBinding,我的下拉列表似乎正在生成,但在我的下拉列表中标签没有显示。
答案 0 :(得分:0)
更好的方法是在备份模板的控制器上定义数据。它接缝您的模板是默认的application
因此,请尝试更改optionValuePath
和optionLabelPath
的路径,包括content
作为前缀,并直接使用模板控制器上下文,如:
ResAdmin.ApplicationController = Ember.Controller.extend({
selection: {
id: '889C0E73-1587-41D5-8073-FD29FF76CF00',
name: "$$"
},
softwares: [
{
id: '92E9862E-DAE5-4CC8-ACDF-7E6418641F7D',
name: "$"
},
{
id: '889C0E73-1587-41D5-8073-FD29FF76CF00',
name: "$$"
},
{
id: '47A56B26-A64A-4967-A9F6-B9D69B2CA145',
name: "$$$"
},
{
id: '417993DB-48BF-4BA9-BE0A-D6A53C6D8325',
name: "$$$$"
}
]
});
<script type="text/x-handlebars" >
{{view Ember.Select
contentBinding="controller.softwares"
selectionBinding="controller.selection"
optionLabelPath="content.name"
optionValuePath="content.id"
prompt="Select..."}}
</script>
工作example。
希望它有所帮助。