前言
既然我们选择了vue,那么在做东西时就不要想着去操作dom,所有的都交给vue来解决。
下面来说一个很简单但是很常用的效果,可能人人都会用到这样的需求
请看下图
导航栏的样式切换功能,如果我们使用jquery之类的东西来写,可能要写好多代码,那么我们用vue呢,
代码如下
html
附上vue中style与class绑定api
<p id="wrap" class="box"> <p v-for="(list,index) in navlists" class="nav" :class="{ red:changered == index}" @click="reds(index)">{{list.text}}</p></p>
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' } }
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
在javascript中如何实现数值自动增加
在react项目中如何使用redux(详细教程)
在ionic3中如何实现随机布局瀑布流
在js中如何实现回到顶部效果
以上就是在vue中如何实现样式之间的切换的详细内容。
