vue指令

Posted hajar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue指令相关的知识,希望对你有一定的参考价值。

vscode快捷键打开终端==>ctrl + shift + y

所有的指令都是属性,所以写的地方应该在标签里面。插值表达式只能写在双标签之间。

例如:   <div v-text="msg"></div>    这个是指令书写的地方例如:   
        <div>{{msg}}</div>          这个是插值表达式书写的地方

v-text 作用:输出一段文本

v-html 作用:输出一段文本,但是如果里面有html结构,会解析出来,如果里面写了js,是解析不出来的,只能解析html

v-bind 作用:动态绑定数据。让冒号后面的属性值进行动态的绑定,动态绑定就是绑定data里面的数据。可以动态绑定图片;可以动态绑定id号,用来删除这个id号的内容;可以动态绑定class样式,然后判断在什么条件下加这个样式,什么时候不加;可以动态绑定多个样式;可以动态设置字体大小。只要这个属性的值是动态变化的,就可以把这个属性设置为动态属性,不管是style,class,href都可以用。v-bind是一个单向绑定,意味着如果model中的数据变化,view中的显示结果也会变化,但是反过来就不行了,v-model就可以双向数据绑定

v-for 作用:循环遍历。可以遍历数组或者对象,数组中没有键(key),但是对象中有索引(index),

v-model 作用:双向绑定。如果是通过索引的方式修改数组中的数据,那么页面并不会自动的更新数据;同时如果通过length属性修改数组的长度,页面中的数据也不会有动态的更改。

v-show 作用:

v-if 作用:

v-on 作用:

v-cloak 作用:

例子:插值表达式 v-text v-html 的演示

在html标签内插入一段文字*****

template里面的结构

<template>
    <div>
    <div>{{msg}}</div> <!-- 插值表达式 -->
    <div v-text="msg"></div> <!-- v-text -->
    <div v-html="msg"></div> <!-- v-html -->
    </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      msg: "<button>文字</button>" //上面获取这里的数据
    };
  }
};
</script>
在html标签内插入一段文字效果图

技术图片

例子:v-bind 的演示

动态添加图片*****(常用)

template里面的结构

<template>
    <div>
    <img :src="src" >      <!-- 动态添加图片 -->
    </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      src: "@/assets/img/login/wechat.png", //这里写你的图片路径
    };
  }
};
</script>
动态添加图片效果图

技术图片

动态删除ID号*****(常用)

template里面的结构

<template>
    <div>
    <a :href="‘./del?id=‘+id">删除ID号{{id}}的成员</a> <!-- 删除这个ID号的成员 -->
    </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      id: 5 //现在的ID号为5
    };
  }
};
</script>
删除ID号效果图

技术图片
技术图片

动态添加样式*****(常用)

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
        <span :class="{pinkFont:hanPink}">我是粉红色字</span>     <!-- 第一种写法 -->
        <span :class="{pinkFont:hanPink==3}">我是粉红色字</span>   <!-- 第二种写法 -->
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      hanPink: true,//第一种写法
      hanPink: 3,//第二种写法
    };
  }
};
</script>

css里面的结构

<style lang="scss">
@import "../index.scss";
.myneeds {
}
.shiyan {
  width: 100%;
  height: 100%;
  .shiyan1 {
    width: 500px;
    height: 500px;
    margin: 35px auto;
    background-color: #eae8e8;
  }
  .pinkFont {
    color: hotpink;
  }
}
</style>
第一种写法动态添加样式效果图

技术图片

第二种写法动态添加样式效果图

技术图片

动态添加两个样式*****(常用)

动态添加的时候,记得先在data数据里面绑定样式,这样才能使用

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
        <span :class="[pinkFont,underline]">动态绑定两个样式</span>
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      pinkFont: ‘pinkFont‘, //动态绑定样式
      underline: ‘underline‘, //动态绑定样式
    };
  }
};
</script>

css里面的结构

<style lang="scss">
@import "../index.scss";
.myneeds {
}
.shiyan {
  width: 100%;
  height: 100%;
  .shiyan1 {
    width: 500px;
    height: 500px;
    margin: 35px auto;
    background-color: #eae8e8;
  }
  .pinkFont {
    color: hotpink;
  }
  .underline {
    text-decoration: underline;
  }
}
</style>
动态添加两个样式效果图

技术图片

动态设置字体大小*****(常用)

动态添加的时候,记得先在data数据里面绑定样式,这样才能使用

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
        <span :style="‘font-size:‘+fs+‘px‘">动态设置字体大小</span>       <!--第一种写法-->
        <span :style="{fontSize:fs+‘px‘}">动态设置字体大小</span>        <!--第二种写法-->
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      fs:50,  //动态设置字体的大小
    };
  }
};
</script>
第一种写法动态设置字体大小效果图

技术图片

第二种写法动态设置字体大小效果图

技术图片

例子:v-for 的演示

1.遍历数组的内容(显示索引)*****(常用)

不写index也可以的,index是索引。如果下面的{{item}}-{{index}}不把index写出来的话,是不会显示索引的

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
      <ul>
        <li  v-for="(item,index) in list" :key="index">{{item}}-{{index}}</li>
      </ul>
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      list:["写代码","调bug","分享"],
    };
  }
};
</script>
遍历数组的内容效果图

技术图片

2.遍历对象的内容(键值对显示)*****(常用)

循环里面不写index也可以的,index是索引。如果下面的{{item}}-{{index}}不把index写出来的话,就只显示值,不显示键,键就是对象里冒号前面的内容。说明一下,对象里面的是键值对。

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
      <ul>
        <li v-for="(item,index) in computer" :key="index">{{item}}-{{index}}</li>
      </ul>
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      computer:{
        brand:"小米",
        color:"white",
        size:5.2,
        price:2000
      }
    };
  }
};
</script>
遍历对象的内容(键值对显示)效果图

技术图片

3.遍历对象的内容(显示值)*****(常用)

循环里面不写index也可以的,index是索引。如果下面的{{item}}-{{index}}不把index写出来的话,就只显示值,不显示键,键就是对象里冒号前面的内容。说明一下,对象里面的是键值对。

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
      <ul>
        <li v-for="item in computer" :key="item">{{item}}-{{index}}</li>
      </ul>
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      computer:{
        brand:"小米",
        color:"white",
        size:5.2,
        price:2000
      }
    };
  }
};
</script>
遍历对象的内容(显示值)效果图

技术图片

例子:v-model 的演示

实现数据双向绑定*****(常用)

view的数据进行更改,data的数据也会随着更改,反之,一样。他们已经绑定在一起了。

template里面的结构

<template>
  <div class="shiyan">
    <div class="shiyan1">
      <ul>
        <input type="text" v-model="msg">
      </ul>
    </div>
  </div>
</template>

script里面的结构

<script>
export default {
  data() {
    return {
      msg:"努力一点点",
    };
  }
};
</script>
实现数据双向绑定效果图

技术图片
技术图片

 

 

以上是关于vue指令的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段(vue主模板)

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段2——.vue文件的模板