gpt4 book ai didi

javascript - 在呈现 CollectionView 中的所有项目后是否会触发 Marionette.js 事件?

转载 作者:数据小太阳 更新时间:2023-10-29 05:50:06 25 4
gpt4 key购买 nike

Backbone.Marionette.js CollectionViews 和 CompositeViews,onDomRefresh 事件在 DOM 最初呈现时触发,并且在任何时候将项目添加到 View 的集合中(这有助于 View 的动态/“实时”性质)。在我的例子中,我想运行某个 jQuery 函数,但由于集合的典型长度,最好只调用此函数一次在最后一次渲染,以防止过多的函数调用在 UI 中呈现所有模型后,我只想做一次。

是否有适合此用例的 Marionette 事件?

最佳答案

我整个下午都在尝试使用 Erik 的解决方案,但“collection:rendered”事件从未被触发。在拖网后我发现它不再存在了:(

但是有一种相当简单的方法可以实现所需的行为。

在 CollectionView 中使用 onAddChild 回调来执行以下操作:

onAddChild : function() {
// Check all the models in the collection have their child views rendered
if ( this.children.length == this.collection.length ) {
// Now you could do something like
this.trigger("collection:rendered");
}
}

之所以可行,是因为集合计数会立即增加到新的长​​度,而子项的长度会一次更新一个。

很简单,它让我很开心:)希望它也能帮助其他人。

关于javascript - 在呈现 CollectionView 中的所有项目后是否会触发 Marionette.js 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19504782/

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