在Aurelia中添加对重复项的元素引用

时间:2016-06-28 03:41:04

标签: javascript aurelia aurelia-binding

所以我的viewModel中有一个对象列表,需要访问每个元素。我尝试使用element.ref,但对象中没有元素。

persons.js

export class PersonsViewModel {

    persons = [{
        id: 0,
        name: 'Matt'
    }]

    // this function fails, person.el is undefined
    increase(person) {
        person.el.style.height = person.el.clientHeight + 10;
        person.el.style.width = person.el.clientWidth + 10;
    }
}

persons.html

<template>
    <div repeat.for="person of persons" element.ref="el">
        <div>${person.name}</div>
        <button click.delegate="increase(person)">+</button>
    </div>
</template>

1 个答案:

答案 0 :(得分:2)

element.ref绑定与所有其他绑定一样尊重绑定上下文,因此element.ref在附加element属性时必须引用person对象。

<div repeat.for="person of persons" element.ref="person.el">