Rumah >hujung hadapan web >tutorial js >在vue中如何实现样式之间的切换

在vue中如何实现样式之间的切换

亚连
亚连asal
2018-06-19 16:48:362295semak imbas

这篇文章主要介绍了vue中如何实现样式之间的切换及vue动态样式的实现方法,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下

前言

既然我们选择了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 &#39;tab-items-current&#39;
        }else {
          return &#39;class-tab-items&#39;
        }
      }

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在JavaScript中如何实现数值自动增加

在React项目中如何使用Redux(详细教程)

在ionic3中如何实现随机布局瀑布流

在JS中如何实现回到顶部效果

Atas ialah kandungan terperinci 在vue中如何实现样式之间的切换. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn