微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Ember.js:如何在呈现每个子视图后挂钩Ember.CollectionView?

This question演示了覆盖Ember.View实例的didInsertElement允许您在视图元素位于DOM之后执行某些代码.

http://jsfiddle.net/gvUux/2/

当然,在添加到Ember.CollectionView的子视图类上覆盖didInsertElement将在呈现和插入每个子视图后运行钩子.

http://jsfiddle.net/BFUvK/1/

Ember.CollectionView,arrayDidChange和contentDidChange上的两个面向集合的钩子在底层内容发生更改后执行,但它们在任何渲染发生之前执行.对添加到数组的每个元素执行arrayDidChange,contentDidChange包装内容绑定.

我想能够钩住渲染管道,比如willInsertCollection和didInsertCollection,在渲染所有子元素之前和之后操作DOM – 实际上,在contentBinding的过滤器之前和之后.

有任何想法吗?我很难过.

解决方法

如果您希望在呈现视图之前和/或之后执行某些操作,则应分别使用willInsertElement和/或didInsertElement.在这种情况下,由于您希望“在渲染所有子元素之前和之后操作DOM”,您应该在CollectionView上调用它们.

我不太确定你的意思是“在contentBinding的过滤器之前和之后”,所以如果这不能回答你的问题,如果你能澄清我会很乐意提供帮助.

jsFiddle if needed

原文地址:https://www.jb51.cc/js/157738.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐