我必须将很多div渲染为DOM。因此,我要做的是先将前5个元素渲染到DOM中,然后每隔10个div间隔300ms渲染一次。
问题是当我更改为display: block
时,我需要更改组件中的某些内容。因此,我尝试使用didRender
挂钩。
代码在下面
didRender() {
if(this.element.offsetParent) {
this.set('myvar', true);
}
}
但是它不能完美运行。任何人都可以建议我,这是最好的方法。
_预先感谢。
答案 0 :(得分:0)
很难从问题中猜出您的用例,但我认为这是在呈现大量项目而不引起性能问题的情况下。灰烬生态系统提供了防弹插件。我知道的最成熟的是ember-collection
和ember-large-list
。如果它们符合您的要求,我建议使用其中一种。重新实现类似的东西将需要大量工作。在超时的基础上渲染新项目无法很好地扩展,因为它没有考虑浏览器的工作量。
对于您的具体问题:Ember无法提供监听CSS更改的方法。您应该在对属性进行突变(触发CSS更改)的同一位置执行自定义逻辑。如果必须在渲染后运行它,则需要处理Ember的runloop。