飞镖聚合物更新聚合物dom元素

大声笑

我正在使用此模板创建一个通知条目列表,该列表在第一次运行时效果很好。

NoticeList nle = querySelector('#noticeList');
nle.notices = notices;

但是我第二次调用此代码时,该站点完全没有改变。我想念什么吗?

谢谢

<polymer-element name="notice-list">
   <template>
     <ul id = "noticeEntrys">
        <template repeat="{{notice in notices}}">
          <li>
            <notice-element notice={{notice}}></notice-element>
          </li>
        </template>
      </ul>
    </template> 
  <script type="application/dart" src="notice_list.dart"></script>
</polymer-element>

 <polymer-element name="notice-element">
  <template>
    <div class="notice">
      <textarea rows="8" readonly>{{notice.getText()}}</textarea>
      <div class="controlls">
        <button type="button" name="delete" on-click={{delete}}>Delete</button>
        <button type="button" name="change" on-click={{change}}>Change</button>
      </div>
    </div>
  </template> 
  <script type="application/dart" src="notice_element.dart"></script>
</polymer-element>
@CustomTag('notice-list')
class NoticeList extends PolymerElement {
  NoticeList.created() : super.created() {
  }

  @published List<Notice> notices;
}

@CustomTag('notice-element')
class NoticeElement extends PolymerElement {
  NoticeElement.created() : super.created() {
  }

  @published Notice notice;

  void delete(Event e, var detail, Node target) {
    Datamanager.removeNotice(notice);
    Controller.updateListe();
  }

  void change(Event e, var detail, Node target) {
    Controller.updateActiveElement(notice);
  }

  void setNotice(Notice n)  {
    notice = n;
  }  
}

编辑:我更新代码的方式与我第一次通过网络服务获取新数据时设置的列表相同,并且新数据正确

static void noticesLoadedPolymerList(List<Notice> notices) {
    NoticeList nle = querySelector('#noticeList');
    nle.setNotices(notices);
  }

Edit2:我添加了一个简单的整数来显示listsize @observable int listSize; 如果我分配了新列表,但显示的内容没有,则值会更改。

大声笑

终于有时间解决问题了。

我的问题是我会像这样开始聚合

initPolymer();

当我应该像这样开始的时候

 initPolymer().run(() {
   //initialization and other stuff
 }

有关此内容的更多信息,请参见https://code.google.com/p/dart/issues/detail?id=15379

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章