javascript - Aurelia - Using variable as name of property in data binding - Stack Overflow

Using Aurelia, is it possible to use a variable name to dynamically reference a model object's pro

Using Aurelia, is it possible to use a variable name to dynamically reference a model object's property name?

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>

This results in: "TypeError: obj is undefined"

Using Aurelia, is it possible to use a variable name to dynamically reference a model object's property name?

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>

This results in: "TypeError: obj is undefined"

Share Improve this question edited Sep 1, 2015 at 2:46 billcobbler asked Sep 1, 2015 at 2:02 billcobblerbillcobbler 3151 silver badge8 bronze badges 0
Add a ment  | 

1 Answer 1

Reset to default 8

According to the Aurelia Docs:

Each item that is being repeated by the repeat attribute has several special contextual values available for binding:

$parent - At present, the main view model's properties and methods are not visible from within the repeated item. We hope to remedy this in an update soon. For the mean time, you can access that view-model with $parent.

$index - The index of the item in the array.

$first - True if the item is the first item in the array.

$last - True if the item is the last item in the array.

$even - True if the item has an even numbered index.

$odd - True if the item has an odd numbered index.

It worked after updating the HTML to reference parent.new_deal[day]:

<label repeat.for="day of dow"><input type="checkbox" class="checkbox-inline" checked.bind="$parent.new_deal[day]" />${day}</label>

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745393545a4625774.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信