vue对象属性变化时无法刷新v-if、v-show
普通对象赋值方式可能会使v-if和v-show无法刷新,可以使用this.$set(this.obj, 属性名,属性值)的方式来改变对象的值,例子如下:<template><button @click="handleShow">点击</button><div v-if="params.isShow">显示出来div<...
·
普通对象赋值方式可能会使v-if和v-show无法刷新,可以使用this.$set(this.obj, 属性名, 属性值)的方式来改变对象的值,例子如下:
<template>
<button @click="handleShow">点击</button>
<div v-if="params.isShow">显示出来div</div>
</template>
<script>
export defalut{
data() {
return {
params: {}
}
},
mounted() {
// 若原有对象中无该属性,需要先初始化
this.$set(this.params, 'isShow', false)
},
methods: {
handleShow() {
// 更新对象中的属性值使v-if生效
this.$set(this.params, 'isShow', true)
}
}
}
</script>
更多推荐
已为社区贡献10条内容
所有评论(0)