1

このデモはEmber documentationから入手しました。値が割り当てられたセレクトボックスです。

App.programmers = [
  Ember.Object.create({firstName: "Yehuda", id: 1}),
  Ember.Object.create({firstName: "Tom",    id: 2})
];

App.currentProgrammer = Ember.Object.create({
  id: 2
});

意見:

{{view Ember.Select
   contentBinding="App.programmers"
   optionValuePath="content.id"
   optionLabelPath="content.firstName"
   valueBinding="App.currentProgrammer.id"}}

このケースは機能し、"Tom" アイテムが選択されます。

attribute:multiple="true"を Ember.Select に追加すると、"Tom" 項目がまだ選択されています。しかし、複数のアイテムがすでに選択されている必要があるため、次のように変更App.currentProgrammerしました。

App.currentProgrammer = [
  Ember.Object.create({id: 1}),
  Ember.Object.create({id: 2})
];

しかし、今は何も選択されていません。-属性を変更する必要がありvalueBindingますか?

4

1 に答える 1

4

代わりに selectionBinding を使用できます: Fiddle

HTML:

<script type="text/x-handlebars">
{{view Ember.Select
    multiple="true"
    contentBinding="App.content"
    optionValuePath="content.type"
    optionLabelPath="content.label"
    prompt="Select a value"        
    selectionBinding="App.types"        
}}
{{#each App.types}}
    {{type}}
{{/each}}
</script>

JS:

App = Ember.Application.create({});

App.content = [
    {label: "This is type 1", type: "type1"},
    {label: "This is type 2", type: "type2"}
];

App.types = [
    App.content[0], App.content[1]
];

valueBinding がまだ機能していないことに同意します。

于 2013-07-11T09:31:43.913 に答える