vue数据变了,视图没有更新解决方法
this.$forceUpdate()
详细场景:对象里面的属性开始没有定义,后期加上的
// 删除视频
deleteVideo (index) {
// 清空传递后端绑定的值 及 页面显示的值
this.videoUrl[`video${index + 1}`] = null
this.uploadVideoIndex = -1
// 坑:需要强制更新视图,否则视图没变化
this.$forceUpdate()
},
computed: {
...mapState(['isUseLottie']),
// 储存图片url的地址,处理图片显示顺序
imgUrl () {
let imgUrl = {}
this.imgArr.map((item, index) => {
imgUrl[`img${index + 1}`] = null
})
return imgUrl
},
// 视频url
videoUrl () {
let videoUrl = {}
this.videoArr.map((item, index) => {
this.$set(videoUrl, `video${index + 1}`, null)
})
return videoUrl
},
// 物料url
materialUrl () {
let materialUrl = {}
this.imgArr.map((item, index) => {
this.$set(materialUrl, `material${index + 1}`, null)
})
return materialUrl
},
// 素材类型下拉框数组
materials() {
let materialTypeArr = []
this.configData.map(item => {
if (this.adIdea.flow_type === item.flow_type) {
let adForm = item.ad_forms
adForm.map(item => {
if (this.adIdea.ad_form === item.id) {
materialTypeArr = item.materials
}
})
}
})
// console.log(materialTypeArr, 'materialTypeArr....')
return materialTypeArr
},
},