Aurelia的“repeat.for”可以与“view-model.ref”一起使用

时间:2016-03-23 04:55:25

标签: javascript aurelia aurelia-binding

我的视图中的自定义元素上有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>

但在我创建了几个实例后,boxViewModelTestingundefined

让我想知道view-model.ref是否在repeat.for内无效。

有没有办法获取使用'repeat.for'创建的自定义属性的视图模型的引用?

1 个答案:

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

Tests

您必须更新到Aurelia的3/1/2016版本才能使用此 http://blog.durandal.io/2016/03/01/aurelia-early-march-2016-update/