我的视图中的自定义元素上有repeat.for
(如果是UI元素,则为我提供一个列表):
<box repeat.for="box of boxes" box.bind="box"></box>
我希望我的视图模型有一个自定义元素视图模型的列表(所以我可以在列表中的每个项目上调用validate方法。)
我试过了:
<div repeat.for="box of boxes">
<box box.bind="box" view-model.ref="boxViewModels[${$index}]"></box>
</div>
但是boxViewModels
属性没有添加到数组中的任何内容。
我甚至试图看看它是否会在repeat.for
:
<div repeat.for="box of boxes">
<box box.bind="box" view-model.ref="boxViewModelTesting"></box>
</div>
但在我创建了几个实例后,boxViewModelTesting
为undefined
。
让我想知道view-model.ref
是否在repeat.for
内无效。
有没有办法获取使用'repeat.for'创建的自定义属性的视图模型的引用?
答案 0 :(得分:11)
这是测试套件的一部分。应该看起来像这样:
export class Foo {
boxElements = [];
boxViewModels = [];
boxViews = [];
boxControllers = [];
}
<template>
<div repeat.for="box of boxes">
<box ref="boxElements[$index]"
view-model.ref="boxViewModels[$index]"
view.ref="boxViews[$index]"
controller.ref="boxControllers[$index]">
</box>
</div>
</template>
您必须更新到Aurelia的3/1/2016版本才能使用此 http://blog.durandal.io/2016/03/01/aurelia-early-march-2016-update/