在重复的环境中使用ref

时间:2019-07-08 13:36:19

标签: aurelia aurelia-binding

我正在使用自定义元素来打印输入元素的长度。我可以在常规环境中使用它,但是在repeat.for环境中创建唯一的引用却很困难

我尝试使用ref=name$indexref=name${$index}的组合,但到目前为止,它们都不起作用。

在非重复环境中,这可行

<div class="row">
    <label>
        Name
        <my-custom-element field.bind="name"></my-custom-element>
        <input
            type="text"
            name="name"
            ref="name"
            value.bind="name"
            maxlength="150" />
    </label>
</div>

但是,一旦我使用了重复,它就会停止工作,因为我错误地使用了field.bindref。例如

<div repeat.for="item of items" class="row">
    <label>
        Name
        <my-custom-element field.bind="name${$index}"></my-custom-element>
        <input
            type="text"
            name="name${$index}"
            ref="name${$index}"
            value.bind="item.name"
            maxlength="150" />
    </label>
</div>

我只是试图使ref看起来像name0name1name2等,以便它是唯一的。

错误看起来像Parser Error: Unconsumed token { at column 5 in expression [name${$index}]

1 个答案:

答案 0 :(得分:0)

您正在遍历items,这大概是具有name属性的对象数组。我认为您想要更多类似以下内容的东西:

<div repeat.for="item of items" class="row">
<label>
    Name
    <my-custom-element field.bind="item.name"></my-custom-element>
    <input
        type="text"
        name="item.name"
        ref="item.name"
        value.bind="item.name"
        maxlength="150" />
</label>