2014-02-13 3 views
2

У меня есть Ember.Select в моем шаблоне и изображение:значение Update, когда выбрано значение в Ember.Select

Difficulty: {{view Ember.Select id="id_diff" contentBinding="difficulties" optionValuePath="content.id" optionLabelPath="content.title"}} 
<img src="(path)" /> 

Выбрать заполнен значениями, поступающих от сервера; в контроллере:

difficulties: function() { 
    return this.get('store').find('difficulty'); 
}.property() 

и модель:

Gmcontrolpanel.Difficulty = DS.Model.extend({ 
    title: DS.attr('string'), 
    description: DS.attr('string'), 
    path: DS.attr('string') 
}); 

и это нормально; но мне бы хотелось, чтобы при выборе трудности из Ember.Select свойство corrispondent path было вставлено в тег img Кто-нибудь знает, как получить этот результат?

+0

Не могли бы вы собрать jsBin или jsFiddle? – chopper

ответ

2

Для этого я бы поставил пару вещей.

Во-первых, обновить Ember.Select включить valueBinding против модели с новым свойством:

{{view Ember.Select id="id_diff" contentBinding="difficulties" optionValuePath="content.id" optionLabelPath="content.title" valueBinding="selectedDificulty"}} 

Это будет связывать ваш выберите вид объекта модели. Это означает, на контроллере, теперь мы можем включать в себя новую функцию с .observes на этом поле:

updateImage : function(){ 
    this.set('fullPath', this.get('path') + this.get('selectedDificulty')); 
}.observes('selectedDificulty'); 

И, наконец, изменить свой путь к изображению, чтобы вновь созданный один:

<img src="(fullPath)"/> 
+0

Ну, это не работает для меня ... Я ничего не получаю в src img tag ... –

+0

oops. Пропустил важный шаг. для привязки к атрибуту модели. В противном случае он будет отображаться только один раз при входе в маршрут. – gravityplanx

+0

Теперь что-то происходит, но это все еще не правильно: я получаю в src attr «undefined 1», и когда я изменяю значение в select, выбирая N-мерное значение, я получаю undefined n в src attr ... –

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