如果我能以某种方式在模板中使用动态变量名,我很好奇。例如,我有一个循环,虽然我的游戏中有一种单位:
{{# config.units:unit }}
<input type="text" id="unit_{{unit}}" class="toTrain selectable" value="" placeholder="0" />
{{/ config }}
例如,输入值应返回{{units_1}}的值,表示单位数量(类型1)。
我可以很容易地做一些外部对象并为每个对象存储单位数量但是,我想知道我是否可以保持数据绑定,因为模板中的某处将有一个总需要的资源,这些资源是用这些值计算的
唯一的解决方案&#34;进入我脑海的是摆脱循环并手动在模板中写入单位。但是,当单位发生变化时,我还需要更改模板,并且..一个单元的真实模板结构比这个单元格略大。
示例:
<input value="{{units_1}}" />
<input value="{{units_2}}" />
我正在寻找类似的东西:
<input value="{{'units_'+unit}}" />
这显然不起作用,甚至不应该以这种方式工作。但是,那就是为什么我在这里?提出问题。
问候!
答案 0 :(得分:2)
尝试使用write getUnit
函数:
{{# config.units:unit }}
<input type="text" id="{{ getUnit(unit) }}" class="toTrain selectable" value="" placeholder="0" />
{{/ config }}
组件:
Ractive.extend({
init:function(){
self.set("getUnit", function (id) {
return self.get("config.units.unit_"+id);
});
}
})