0

我的模板就像

<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 我的下拉菜单似乎正在生成,但在我的下拉菜单中标签没有显示。

4

1 回答 1

0

更好的方法是在备份模板的控制器上定义数据。它将您的模板接缝为默认模板application,因此,请尝试更改路径optionValuePathoptionLabelPath包含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>

工作示例

希望能帮助到你。

于 2013-09-05T09:55:04.840 回答