我修改了一个Dart聚合物示例来测试MutationObserver.这是行不通的!有什么建议吗?
这是HTML代码:
<body> <ul> <template id="tmpl" repeat> <li>{{}}</li> </template> </ul> </body>
这是Dart代码:
MutationObserver observer = new MutationObserver(_onMutation); observer.observe(query('#tmpl'),childList: true,subtree: true); List timestamps = toObservable([]); query('#tmpl').model = timestamps; new Timer.periodic(const Duration(seconds: 1),(_) { timestamps.add(new DateTime.now()); }); _onMutation(List<MutationRecord> mutations,MutationObserver observer) { print('hello test MutationObserver'); **//there is not any print!!!!!!!!!!!** }
知道为什么它不起作用的任何想法?
[注意:网页显示很好,问题只是关于MutationObserver]
谢谢!
解决方法
我想你不想听#tmpl,但是在它的parentNode上.在设置模型时,HTML Template元素将其内容扩展为兄弟姐妹.试试这个改变:
observer.observe(query('#tmpl').parent,subtree: true);