2

multiselect でこれまでに試行された構文は次のとおりです。つまり、multiple="multiple" が含まれています。

{{view Ember.Select multiple="multiple"
    contentBinding="App.viewPersonController"
    selectionBinding="App.selectedPersonController.person"
    optionLabelPath="content.personName"
    optionValuePath="content.id"
    prompt="Select..." }}
{{/view}}

以下はエラーです:

キャッチされないエラー: アサーションに失敗しました: 複数選択は false ですが、配列選択を指定しました。

複数を真にする方法は?

4

1 に答える 1

3

Handlebars テンプレートの問題に加えて{{view}}、終了タグで閉じてはいけませんが{{#view}}{{/view}}、提供されたコードは正常に機能します。multipleはブール値なので、 に評価されるものはすべて にtrue設定されtrueます。そのため、割り当てmultipleも機能します。prompt複数の選択が台無しになるため、も削除しました。これはバグだと思います。http://jsfiddle.net/pangratz666/p4QfQ/を参照してください。

ハンドルバー:

{{view Ember.Select
    multiple="true"
    contentBinding="App.viewPersonController"
    selectionBinding="App.selectedPersonController.persons"
    optionLabelPath="content.personName"
    optionValuePath="content.id"}}

JavaScript :

App.viewPersonController = Ember.ArrayProxy.create({
    content: [{personName: 'Alf', id: 1}, {personName: 'Brian', id: 2}]
});

App.selectedPersonController = Ember.Object.create({
    persons: []
});​

viewHandlebars ヘルパーに関する注意: 経由でビューを指定する場合、Handlebars{{view ClassName}}に特定のビューをレンダリングするように指示します。ここで、テンプレートはビューのクラスとしてClassName定義されているtemplateNameか、プリコンパイルされています。template

経由でビューを宣言することにより、{{#view ClassName}} template instructions {{/view}}明示的にレンダリングされるビューのテンプレートを定義しています。

于 2012-04-23T06:47:12.780 に答える