我的模板中有一个Ember.Select和一张图片:
Difficulty: {{view Ember.Select id="id_diff" contentBinding="difficulties" optionValuePath="content.id" optionLabelPath="content.title"}}
<img src="(path)" />
Select填充了来自服务器的值;在控制器中:
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中选择一个难度时,相应的路径属性将被插入到img标签中 任何人都知道如何得到这个结果?
答案 0 :(得分: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)"/>