使用Aurelia,是否可以使用变量名来动态引用模型对象的属性名称?
使用Javascript:
dow = ['monday', 'tuesday', 'wednesday', 'thursday', 'friday'];
test = {
monday: false,
tuesday: false,
wednesday: false,
thursday: false,
friday: false,
};
HTML:
<label repeat.for="day of dow"><input type="checkbox" class="form-control" checked.bind="test[day]" />${day}</label>
这导致:&#34; TypeError:obj未定义&#34;
答案 0 :(得分:8)
根据Aurelia Docs:
repeat属性重复的每个项目都有几个 可用于绑定的特殊上下文值:
$ parent - 目前,主视图模型的属性和方法是 从重复的项目中看不到。我们希望能够解决这个问题 很快就会更新。同时,您可以使用访问该视图模型 $父。
$ index - 数组中项目的索引。
$ first - 如果项目是数组中的第一项,则为True。
$ last - 如果项目是数组中的最后一项,则为True。
$ even - 如果项目具有偶数编号的索引,则为真。
$ odd - 如果项目的编号为奇数,则为真。
更新HTML后引用parent.new_deal [day]:
<label repeat.for="day of dow"><input type="checkbox" class="checkbox-inline" checked.bind="$parent.new_deal[day]" />${day}</label>