什么是`<template repeat =“”>`</template>的范围规则

时间:2015-04-15 17:44:32

标签: dart polymer dart-polymer

如果在模板repeat内创建的绑定需要聚合物元素上的关联属性,我认为它们绑定到ObservableList的数组项?

在我的模板中有以下代码:

<polymer-element name="event-details">
  <template>
    <!-- etc -->
    <template repeat="{{artist in event.artist}}">
      <artist-card artist="{{artist}}">
    </template>
    <!-- etc -->
  </template>
  <!-- etc -->
</polymer-element>

我的元素定义看起来像

@CustomTag('event-details')
class EventDetails {
   /* etc */
   @published
   api.Event get event => readValue(#event);
   set event(api.Event event) => writeValue(#event, value);
   /* etc */
}

当我创建元素时,我收到错误

"EventDetails has no attribute `artist`"

但我假设artist中的<template repeat>应该只存在于该模板的范围内。在元素的定义中使用{{artist}}没有任何价值,因为它只会指向模板子元素中的最后一个元素。

artistsObservableList对象上的api.Event,虽然它是在不使用聚合物的情况下定义的。

1 个答案:

答案 0 :(得分:1)

使用简单属性(field / getter / setter)而不是readValue / writeValue。