Vue绑定样式案例(标题排他)
在 Vue 中,样式绑定是经常使用的,例如做选项卡、排他功能时都会用到,本节使用样式绑定来实现排他功能,代码如下。
CSS 代码如下。
<style>
.redColor {
color: red;
}
</style>
视图层代码如下。
<div id="app" v-cloak>
<span :class="{ redColor: isactive == 0 }">首页</span>
<span :class="{ redColor: isactive == 1 }">关于我们</span>
<span :class="{ redColor: isactive == 2 }">公司产品</span>
</div>
代码解析如下。
绑定 class 样式,当 isactive 等于 0 时 redColor 在 “首页” 生效,当 isactive 等于 1 时 redColor 在 “关于我们” 生效,当 isactive 等于 1 时 redColor 在 “公司产品” 生效。
isactive 是变量,需要在 M 层中找到 isactive,代码如下。
<script>
var vm = new Vue({
el: '#app',
data: {
isactive: 0
},
methods: {}
});
</script>
最后要做的是给 “首页”、“关于我们”、“公司产品” 绑定单击事件,使 data 中 isactive 的值发生相应的改变,代码如下。
视图层代码如下。
<div id="app" v-cloak>
<span :class="{ redColor: isactive == 0 }" @click="f1(0)">首页</span>
<span :class="{ redColor: isactive == 1 }" @click="f1(1)">关于我们</span>
<span :class="{ redColor: isactive == 2 }" @click="f1(2)">公司产品</span>
</div>
业务逻辑代码如下。
<script>
var vm = new Vue({
el: '#app',
data: {
isactive: 0
},
methods: {
f1(i) {
this.isactive = i;
}
}
});
</script>
代码解析如下:
-
单击菜单调用 f1 函数,并进行传参。
-
在 f1 函数中修改 isactive 值为传递过来的参数,修改 isactive 时,要注意加 this。