2012-06-01 4 views
0

Вот JS скрипку этой проблемы: http://jsfiddle.net/3W47s/9/ember.js контроллер не получает уведомления об изменениях в Ember.Select.selection собственности

Вот код:

<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") 
});​ 

Почему значения, привязанные к приложению .titlesController.currentTitle.name и App.titlesContr oller.currentTitle.name обновляется в представлении? Почему не выполняется выражение print в «testProperty», когда изменяется выбор?

Это очень похоже на эту jsfiddle, за исключением того, что это множественный выбор вместо одного: http://jsfiddle.net/zgLCr/64/

+0

Я получил его работу: http://jsfiddle.net/3W47s/18/. – awt

ответ

1

См http://jsfiddle.net/3W47s/18/

Значение выбора представляет собой массив объектов, которые я знал, но провалили в моем оригинале пример кода.

Смежные вопросы