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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...