vue更新DOM nextTick

最近的项目,使用的是vue+amazeui
不知道大家有没有遇到过这种问题,当我们使用amaze组件的轮播图的时候,获取本地的图片数据是OK的,但是当我们调用接口数据的时候,图片并无显示,但在源码里面我们可以清楚地看到, 数据是已经获取并赋值进了dom的
这就是组件初始化不正确

官方文档里面是在建议js手动初始化
$('.am-slider').flexslider();
但并没有什么用,我们数据获取到,但Dom没有刷新
一时想不到好的方法,我就直接拼接然后插入
var a = ''; for(var i = 0; i < datas.LogoUrlInfo.toplist.length; i++) { a += '

  • ![](' + datas.LogoUrlInfo.toplist[i].logurl + ')
  • ' } $('#slide').append(a)
    问题是解决了,但是总是觉得怪怪的,我不信吊炸天的vue没有更好的解决方案

    最后百度,让我发现了nextTick
    一下子打开新世界
    Vue.nextTick(function() { //Dom更新后需要执行的代码 })

    在我们数据调用完后加入
    this.$nextTick(function(){ $('.am-slider').flexslider();//amaze 轮播初始化 })

    vue果然是强大,很多时候,不是这个框架不好,是我们不会用,这次为解决这个问题,我翻了几遍vue官方文档,收获挺多,比如
    v-if 是一个指令,需要将它添加到一个元素上。但是如果我们想切换多个元素呢?此时我们可以把一个