今天在做页面的时候发现一个问题,我在el-dialog中放置了一个<img>标签,并绑定了一个变量,然而在弹窗中直接给src赋值的时候图片不能直接显示出来,需要关闭在开启弹窗才会出现。解决办法就是加上this.$forceUpdate();强制更新视图。源码以后在研究。写个小例子。
template
<template>
<el-dialog>
<img :src="pic"/>
</el-dialog>
</template>
vue
data(){
return{
pic: ''
}
},
methods: {
test() {
//用的是base64编码格式 直接加载图片
this.pic = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0 DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='
//强制刷新
this.$forceUpdate();
},
}