如题:
我有一个卡片切换组,点击标题切换不同的卡片;我给其中一个卡片内容盒子家了一个id值,当切换卡片时判断标题下标,找到对应卡片内容,并获取到我设置的那个ID值————我在卡片切换时有一个判断:
vm.tabIndex = i;//切换对应内容
if(i == 1){
Vue.nextTick(function(){
var dom = document.getElementById('dom1');//null
...//后续方法
})
}
如代码所示,在切换方法中,首先更新点击卡片标题下标,显示对应内容,然后判断当前卡片是否为下标1,更新节点后获取节点'dom1'。但是返回为null。
另:在我的切换方法中还加入了一个swiper插件,同样是
if(i == 3){
Vue.nextTick(function(){
var bannerswiper = new Swiper('.stroe-swiper', {...});
})
}
为什么插件同样是重新渲染后获取节点就不报错,而反而我自己直接获取节点报错,返回为null?
最后找到原因了:
Vue.nextTick(function(){
setTimeout(function(){
var dom = document.getElementById('dom1');//htmlObject
...//后续方法
},300);
})
你控制div显示与隐藏用的什么,v-if,v-show,还是直接dom操作?