gpt4 book ai didi

javascript - Ember.js (RC1) CollectionView.didInsertElement 触发得太早

转载 作者:行者123 更新时间:2023-11-30 10:33:43 27 4
gpt4 key购买 nike

我正在使用扩展的 Ember.CollectionView 和一大群 child 。在所有子项都呈现后,我需要执行一些由 jQuery 插件处理的样式化 javascript。我对此的第一次尝试是利用我熟悉和喜爱的 didInsertElement Hook ,但对于我的目的来说,这个 Hook 似乎触发得太早了。

根据文档here , 这个钩子(Hook)在

Called when the element of the view has been inserted into the DOM. Override this function to do any set up that requires an element in the document body.

所以也许我对 Ember 的渲染方式有误解,但从这里看来我的方法应该可行。

我遇到错误了吗?这是我误解的正确功能吗?除了使用带有回调的 checkin 样式系统在每个 subview 触发 didInsertElement 时提醒我之外,还有其他规范的解决方法吗?

编辑 郑重声明,使用登记系统确实有效。每次父级 didInsertElement 触发时,我都会计算哪些子级 View checkin ,但我想知道是否有更好的方法。

最佳答案

从技术上讲,CollectionView 是在它的 subview 之前插入的,所以是的,这是正确的功能。要在 CollectionView 的所有子项都已呈现时向 CollectionView 添加回调,您需要使用 afterRender 队列。

App.ContainerView = Ember.ContainerView.extend({
didInsertElement: function() {
Ember.run.scheduleOnce('afterRender', this, function(){
// this will be performed after every child has been rendered
});
}
})

关于javascript - Ember.js (RC1) CollectionView.didInsertElement 触发得太早,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15238669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com