最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Can Aurelia's "repeat.for" be used with "view-model.ref" - Stack Overfl

programmeradmin2浏览0评论

I have a repeat.for on a custom element in my view (giving me a list if UI elements):

<box repeat.for="box of boxes" box.bind="box"></box>

I would like my view-model to have a list of the of the custom element's view-models (So I can call validate methods on each of the items in my list.)

I tried this:

<div repeat.for="box of boxes">
    <box box.bind="box" view-model.ref="boxViewModels[${$index}]"></box>
</div>

But the boxViewModels property does not get anything added to the array. I even tried to see if it would bind at all inside of the repeat.for:

<div repeat.for="box of boxes">
    <box box.bind="box" view-model.ref="boxViewModelTesting"></box>
</div>

But after I created a few instances, boxViewModelTesting is undefined.

Makes me wonder if view-model.ref just will not work inside a repeat.for.

Is there any way to get the references of view-models of custom attributes created with a 'repeat.for'?

I have a repeat.for on a custom element in my view (giving me a list if UI elements):

<box repeat.for="box of boxes" box.bind="box"></box>

I would like my view-model to have a list of the of the custom element's view-models (So I can call validate methods on each of the items in my list.)

I tried this:

<div repeat.for="box of boxes">
    <box box.bind="box" view-model.ref="boxViewModels[${$index}]"></box>
</div>

But the boxViewModels property does not get anything added to the array. I even tried to see if it would bind at all inside of the repeat.for:

<div repeat.for="box of boxes">
    <box box.bind="box" view-model.ref="boxViewModelTesting"></box>
</div>

But after I created a few instances, boxViewModelTesting is undefined.

Makes me wonder if view-model.ref just will not work inside a repeat.for.

Is there any way to get the references of view-models of custom attributes created with a 'repeat.for'?

Share Improve this question edited Oct 12, 2016 at 22:36 Jeremy Danyow 26.4k12 gold badges90 silver badges135 bronze badges asked Mar 23, 2016 at 4:55 VaccanoVaccano 82.7k161 gold badges502 silver badges918 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 13

This is a scenario that's part of the test suite. Should look something like this:

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

You must update to the 3/1/2016 version of Aurelia to use this http://blog.durandal.io/2016/03/01/aurelia-early-march-2016-update/

发布评论

评论列表(0)

  1. 暂无评论