0

この問題の js フィドルは次のとおりです: http://jsfiddle.net/3W47s/9/

コードは次のとおりです。

<script type="text/x-handlebars">
{{view TitleSelect
  contentBinding="App.titlesController"            
  selectionBinding="App.titlesController.currentTitle"}}

<p>Selected: {{App.titlesController.currentTitle.name}}
(ID: {{App.titlesController.currentTitle.id}})</p>

//---------------------------------

TitleSelect = Ember.Select.extend({
    multiple: true,
    optionLabelPath: "content.name",
    optionValuePath: "content.id"
});

window.App = Ember.Application.create({
    ready: function(){
        console.info("Hello jsfiddle!:");
        var itemArray = [{name: 'Item 1', id: 1}, {name: 'Item 2', id: 2}];
        App.titlesController.set('content', itemArray);
    }
});

App.titlesController = Ember.ArrayController.create({
    currentTitle: null,
    testProperty: function(){
      console.info("CurrentTitle changed!");
    }.property("currentTitle")
});​

App.titlesController.currentTitle.name にバインドされた値と App.titlesController.currentTitle.name がビューで更新されないのはなぜですか? 選択が変更されたときに「testProperty」の print ステートメントが実行されないのはなぜですか?

これは、単一ではなく複数選択であることを除いて、この jsfiddle と非常によく似ています: http://jsfiddle.net/zgLCr/64/

4

1 に答える 1

1

http://jsfiddle.net/3W47s/18/を参照してください

selection の値はオブジェクトの配列です。これは知っていましたが、元のサンプル コードではふざけていました。

于 2012-06-02T01:51:44.500 に答える