vue中使用echarts,在一个弹框上使用柱状图,第一次打开时,图形可以显示,但是跳转到别的页面,再跳转回来,打开就无法显示。浏览器上检测工具里的代码上没有canvas和数据,只是一个空的div,但是打印出的节点上document.getElementById("histogramChart")有canvas和数据。有没有大神可以帮忙解决一下。

解决方案 »

  1.   

    延迟执行
    setTimeout 100ms左右
      

  2.   

    我试过,无论是把可视化的方法延迟1s,还是把setOption延迟1s,都不行,只要打开过一次,然后跳转到别的页面,再跳转回来,就显示不出图表来。
      

  3.   

    你好,请问这个问题解决了吗,我正好遇到同样的情况,懒加载、nexttick、定时器都解决不了
      

  4.   

    在路由加载前,就获取数据啊,在路由独享守卫 钩子函数中
    const router = new VueRouter({
      routes: [
        {
          path: '/foo',
          component: Foo,
          beforeEnter: (to, from, next) => {
            // 获取数据
          }
        }
      ]
    })