您好,欢迎来到汇智养生。
搜索
您的当前位置:首页vue实现样式之间的切换及vue动态样式的实现方法

vue实现样式之间的切换及vue动态样式的实现方法

来源:汇智养生


前言

既然我们选择了vue,那么在做东西时就不要想着去操作dom,所有的都交给vue来解决。

下面来说一个很简单但是很常用的效果,可能人人都会用到这样的需求

请看下图

导航栏的样式切换功能,如果我们使用jquery之类的东西来写,可能要写好多代码,那么我们用vue呢,

代码如下

html

附上vue中style与class绑定API

<div id="wrap" class="box">
 <div v-for="(list,index) in navLists" class="nav" :class="{ red:changeRed == index}" @click="reds(index)">{{list.text}}</div>
</div>

css         

 *{
 padding: 0;margin: 0;
 }
 .box{
 height: 40px;
 background: cyan;
 }
 .nav{
 line-height: 40px;
 display: inline-block;
 margin-left: 100px;
 cursor: pointer;
 }
 .red{
 color: red;
 }

//前提是必须引入vuejs哦!
var vm = new Vue({
 el:"#wrap",
 data:{
 navLists:[
 {
 "text":"首页" 
 },
 {
 "text":"组件" 
 },
 {
 "text":"API" 
 },
 {
 "text":"我们" 
 }
 ],
 changeRed:0
 },
 methods:{
 reds:function(index){
 this.changeRed = index;
 }
 }
 });

仔细看看我们的js代码除了模拟的数据其实就只有一个简单的逻辑处理,比起之前的各种操作dom省了好多事。

ps:vue 动态样式的解决方法

:class="{active: isActive}" 

这个就没什么好说的了,但是在类名有'-'号的时候回报错,

还有一种

class="[lineStyle(courseClick)]"
 lineStyle(isClick){
 if (isClick===true){
 return 'tab-items-current'
 }else {
 return 'class-tab-items'
 }
 }

总结

以上所述是小编给大家介绍的vue实现样式之间的切换及vue动态样式的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

Copyright © 2019- huiziwo.com 版权所有

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务