小编高田悠*_*高田悠的帖子

Vue.js-花费太多时间来“破坏”组件

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会路由到详细信息页面,并且那时所有组件都被销毁(也就是说,发生上述问题时)

javascript performance vue.js

6
推荐指数
2
解决办法
241
查看次数

标签 统计

javascript ×1

performance ×1

vue.js ×1