如何使用聚合物dart创建自定义ul元素,在添加子项时触发添加和删除事件?

时间:2014-10-30 10:01:05

标签: dart polymer dart-polymer

我一直在制作一个简单的待办事项清单作为学习聚合物飞镖的方法。 Here is my todo example。 我在网络编程方面的经验有限。我的想法是用

创建一个简单的应用程序
  • 一个文字输入
  • 2个自定义ul元素(新任务ul和完成任务ul)
  • 在文本输入中输入字符串并按Enter键将创建一个添加到新任务的项目。
  • 从新任务中删除元素会导致元素添加到完成任务。
  • 现在我知道创建一个单独的模型并跟踪与html分开的可观察列表中的更改可能是更好的方法。但作为一个学习练习,我想创建一个自定义ul,它可以分别添加和删除li项目时触发添加和删除事件。

现在我有几个问题。

  1. 为什么ul(html)中没有添加或删除事件?我想了解背后的理性是什么。

  2. 如何创建自定义UListElement,分别在添加或删除li项目时触发添加和删除事件?

2 个答案:

答案 0 :(得分:1)

  1. 因为通常你不会需要它。在您编写时,您更改模型并让Polymer更新视图。

  2. 您可以通过覆盖attached / detached方法轻松实现它并触发事件。 有关如何在Polymer.dart中触发自定义事件,请参阅https://stackoverflow.com/a/22424213/217408

答案 1 :(得分:1)

冈特是对的。你认为这是一所古老的学校,所以听到你是网络开发新手,我感到很惊讶。使用Polymer,您需要拥抱数据驱动的视图模型。您希望观察驱动视图的支持模型属性,而不是DOM。像这样:

@observable List<Task> tasks;

void tasksChanged(oldValue) { // react to changes }