1我有一个用vue.js创建的时间表组件,它包括约200个子时间轴组件(以嵌套形式)(我想上传图像,但不能没有10个声誉)。
现在的问题是,销毁该组件需要花费6秒钟以上的时间。
Chrome表示“删除”功能(每次我们销毁组件时都会由vue.js调用)被调用了很多次,每个功能大约需要20到40毫秒。
vue.js的删除功能如下所示:
function remove (arr, item) {
if (arr.length) {
var index = arr.indexOf(item);
if (index > -1) {
return arr.splice(index, 1)
}
}
}
Run Code Online (Sandbox Code Playgroud)
似乎第一个参数arr是几个VueComponents或超过2000个Watcher对象。
现在,我的问题是:1.在这种情况下,“观察者”是什么,为什么它的数量超过2000?2.为什么我不处理大约10000个组件,却要花这么长时间?
我想这是vue.js规范的问题,但是如果您有类似的问题或对此有任何想法,请帮助我。谢谢!
上面是时间线组件的显示方式,灰色背景面板和紫色背景面板(带有男人图标)都是子组件。当您单击紫色面板时,vue-router会路由到详细信息页面,并且那时所有组件都被销毁(也就是说,发生上述问题时)