Aurelia - 在数据绑定中使用变量作为属性名称

时间:2015-09-01 02:02:37

标签: javascript aurelia aurelia-binding

使用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;

1 个答案:

答案 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>