vue动态绑定:class,值改变,但并未动态添加类目
大概的代码,简而言之就是一个收藏按钮状态切换
<spanclass="icon-star"
:class='{ "active" : result.isCollection==true}'
@click="collectionHandler(result.isCollection)"
>
</span>
collectionHandler(isCollection) {this.$set(this.result, 'isCollection', !isCollection)
console.log(this.result.isCollection)
}
通过控制台可以判断当前 result.isCollection
的值是根据点击在动态变化的,但是:class绑定的类并没有动态添加,想问是什么原因?
回答
:class='{ "active" : result.isCollection}'
<template> <div id="app">
<span
class="icon-star"
:class="{ active: result.isCollection == true }"
@click="collectionHandler(result.isCollection)"
>
</span>
</div>
</template>
<script>
export default {
name: "App",
data() {
return {
result: {
isCollection: false,
},
};
},
methods: {
collectionHandler(isCollection) {
console.log(isCollection)
this.$set(this.result, "isCollection", !isCollection);
console.log(this.result.isCollection);
},
},
};
</script>
<style>
.icon-star {
display: block;
width: 100px;
height: 100px;
background: lightblue;
}
.active {
background: red;
}
</style>
按你这个试下是可以的
用一个计算属性返回result.isCollection
然后:class="{ active : 你的计算属性}"
试试
以上是 vue动态绑定:class,值改变,但并未动态添加类目 的全部内容, 来源链接: utcz.com/a/40496.html