vue 如何保证数据更新完 和 dom渲染完

在 vue 中用到一个选择器插件, 需要保证数据更新完(数据通过异步请求) 并且 Dom 渲染完, 我在插件的实例化代码写在数据请求的回调里,显示 dom 没有渲染完,我把插件的实例化写在mounted生命钩子里,但是此时数据还没请求过来

mounted () {

    /**

     * 植入选择器插件

     */

    this.$nextTick(() => {

      // 执行此代码时,this.data是空数组 

      this.data.forEach((val) => {

        val.data.forEach((val2) => {

          if (!val2.id) {

            /* eslint-disable no-new */

            new SpacePicker({

              inputId: val2.id,

              data: val2.data,

              success: function (arr) {

                console.log('success');

              }

            });

          }

        });

      });

    });

  }

请问如何解决这个问题, vue 有没有保证数据更新完 和 dom渲染完的生命钩子,应该怎么解决这个问题?

Helenr
浏览 1694回答 1
1回答

白衣染霜花

在数据请求的回调中使用nextTick,在nextTick的回调里试试~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript