假设您在Dart中将一个Web组件存储在另一个Web组件中。有没有办法从其他组件访问状态?
假设我有一个名为x-notebook-element
的Polymer元素和一个嵌入其中的x-note-element
(通过迭代器):
<polymer-element name="x-notebook-element">
<template>
<ul>
<template repeat="{{note in notes}}">
<li is="x-note-element" note="{{note}}"></li>
</template>
</ul>
</template>
<script type="application/dart" src="notebook.dart"></script>
</polymer-element>
难点在于,我希望能够点击Delete
中的x-note-element
按钮,从DOM中移除x-note-element
和从note
列表中删除与其关联的notes
。
答案 0 :(得分:4)
您可以在CustomEvent
x-note-element
dispatchEvent(new CustomEvent('my-delete-event', detail: note.id));
听听那些事件:
<li is="x-note-element" note="{{note}}" on-my-delete-event="{{delete}}"></li>
然后在x-notebook-element
的dart部分:
delete(CustomEvent e, var detail, Element target) {
final deletedId = e.detail;
// update notes
}