1.v-text

v-text主要用来更新textContent。

  1. <p>{{msg}}</p><p v-text="msg2"></p>二者效果相等
  1. <body>
  2. <div id="app">
  3. <p>{{msg}}</p>
  4. <p v-text="msg2"></p>
  5. </div>
  6. <script type="text/javascript">
  7. var classs = new Vue({
  8. el:"#app",
  9. data:{
  10. msg:"这是第一段文本",
  11. msg2:"这是第二段文本"
  12. }
  13. })
  14. </script>
  15. </body>

2. v-html

会解析标签,等同于js的innerHTML,会将实例的内容全部替换,慎重使用。

  1. <div id="vue">
  2. <div v-html="add"></div>
  3. </div>
  4. var vueApp = new Vue({
  5. // 挂载点
  6. el:"#vue",
  7. data:{
  8. add:"<h1 class='info'>您好!VUE</h1>",
  9. }
  10. })

3.v-model  !!!!!

  数据双向绑定,会忽略所有表单元素的value、checked、selected特性的初始值。因为它选择Vue实例数据做为具体的值。

  • 比如在input框里输入什么,在下面就会显示相应的东西
  1. <body>
  2. <div id="app">
  3. <input type="text" name="" v-model="msg" />
  4. <p>{{msg}}</p>
  5. </div>
  6. <script type="text/javascript">
  7. var classs = new Vue({
  8. el:"#app",
  9. data:{
  10. msg:""
  11. }
  12. })
  13. </script>
  14. </body>

v-model修饰符
(1)lazy

  默认情况下,v-model同步输入框的值和数据。可以通过这个修饰符,转变为在change事件再同步。

  1. <input v-model.lazy="msg">

(2)number
  自动将用户的输入值转化为数值类型

  1. <input v-model.number="msg">

(3)trim
  自动过滤用户输入的首尾空格

  1. <input v-model.trim="msg">

4.v-once

只会渲染一次,实例的子节点将会被视为静态类容跳过,可用那个又优化性能

比如:在input框输入值并用v-model实现数据双向绑定,而我想突出原始值与变化的值的对比

  1. <div id="app">
  2. <input type="text" name="" v-model="msg" />
  3. <p>{{msg}}</p>
  4. <p v-once>{{msg}}</p>
  5. </div>
  6. <script type="text/javascript">
  7. var classs = new Vue({
  8. el:"#app",
  9. data:{
  10. msg:"这是我的原始值"
  11. }
  12. })
  13. </script>

5.v-on

v-on主要用来监听dom事件(onclick,onchange,onkeyup等等),以便执行一些代码块。表达式可以是一个方法名。
简写为:【 @ 】

  1. <div id="app">
  2. <button @click="myclick"></button>
  3. </div>
  4. <script>
  5. var app = new Vue({
  6. el: '#app',
         data:{},
  7. methods:{
  8. myclick:function(){
  9. alert(1);
  10. }
  11. }
  12. })
  13. </script>

6.v-for

  对数组、对象进行遍历,优先级高于其他指令。

  有两种遍历形式:(xxx  in  xxx)

  • text是可变的;index是当前项的索引(下标),是一个可选参数;in是不可变的;texts是对应vue.js里面的data的数组(对象)名字

    1. <li v-for="(text,index) in texts">
    2. <li v-for="text in texts">

举例:

  1. <body>
  2. <div id="app">
  3. <p v-for="(myscore,index) in score">
  4. 分数是:{{myscore}},对应的下标是:{{index}}
  5. </p>
  6. <span v-for="peo in people"> {{peo}} </span>
  7. <br>
  8. <span v-for="str in number"> {{str}} </span>
  9. </div>
  10. </body>
  11. <script>
  12. var MyVue = new Vue({
  13. el:"#app",
  14. data:{
  15. score:["小明","小红","小蓝","小粉","小爱同学"],
  16. people:{name:"张三",age:13,sex:"男"},
  17. number:"123456"
  18. }
  19. })
  20. </script>

7.v-show

根据条件展示元素,v-show里面是条件表达式,返回的是true或者false。为true的显示出来,为false的隐藏起来。

  1. <body>
  2. <div id="app">
  3. <input type="text" name="" id="" v-model="num1" placeholder="请输入数字" />
  4. <input type="text" name="" id="" v-model="num2" placeholder="请输入数字" />
  5. <br>
  6. <span>判断结果:</span>
  7. <strong v-show="num1>num2">{{num1}}大于{{num2}}</strong>
  8. <strong v-show="num1==num2">{{num1}}等于{{num2}}</strong>
  9. <strong v-show="num1<num2">{{num1}}小于{{num2}}</strong>
  10. </div>
  11. </body>
  12. <script>
  13. var MyVue = new Vue({
  14. el:"#app",
  15. data:{
  16. num1:"",
  17. num2:""
  18. }
  19. })
  20. </script>

8.v-if

v-if 指令用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。

  1. <body>
  2. <div id="app">
  3. <h2 v-if="obj">我是真的</h2>
  4. <h2 v-if="obj1">我是假的</h2>
  5. </div>
  6. </body>
  7. <script>
  8. var MyVue = new Vue({
  9. el:"#app",
  10. data:{
  11. // 当obj为真的时候,对应内容会显示出来
  12. obj:true,
  13. // 当obj为假的时候,对应内容会被隐藏
  14. obj1:false
  15. }
  16. })
  17. </script>
  • 被隐藏的元素,在审查的时候是被注释的

  • 如果想改变多个元素,则可以用template当做一个不可见的包裹元素
  1. <body>
  2. <div id="app">
  3. <!-- 不可见的包裹元素 -->
  4. <template v-if="obj">
  5. <h2>我是真的</h2>
  6. <p>你是人间四月天</p>
  7. </template>
  8. <h2 v-if="obj1">我是假的</h2>
  9. </div>
  10. </body>
  11. <script>
  12. var MyVue = new Vue({
  13. el:"#app",
  14. data:{
  15. // 当obj为真的时候,对应内容会显示出来
  16. obj:true,
  17. // 当obj为假的时候,对应内容会被隐藏
  18. obj1:false
  19. }
  20. })
  21. </script>

9.v-else

v-else指令不能单独使用,必须紧跟在v-if 或者 v-else-if 的元素后面。可用于登陆、判断成绩合格等。相当于if else条件语句

  1. <body>
  2. <div id="app">
  3. <input type="text" v-model="msg">
  4. <!-- 相当于在这用了if else条件语句 -->
  5. <p v-if="msg>90">{{excellent}}</p>
  6. <p v-else-if="msg>80">{{good}}</p>
  7. <p v-else-if="msg>60">{{qualified}}</p>
  8. <p v-else>{{Unqualified}}</p>
  9. </div>
  10. </body>
  11. <script>
  12. var grades = new Vue({
  13. el:"#app", //挂载点
  14. data:{
  15. msg:"",
  16. excellent:"优秀",
  17. good:"良好",
  18. qualified:"合格",
  19. Unqualified:"不合格"
  20. }
  21. })
  22. </script>

10.v-bind  !!!!

v-bind用于属性绑定,只要是标签自带的属性都可以用。简写方式用":"表示。

  1. <!-- 完整语法:v-bind 是指令,: 后面的 class 是参数,classProperty 则在官方文档中被称为“预期值”。 -->
  2. <span v-bind:class="classProperty"></span >
  3. <!-- 缩写语法: 后面的 class 是参数,classProperty 则在官方文档中被称为“预期值”。 -->
  4. <span :class="classProperty"></span >

(1)绑定属性

不适用vue的情况下,我们对一张图片的写法,可以正常显示

使用vue的情况下,我们可以把图片路径存到js中。但是这种情况下,标签会直接显示出来,所以就需要加上v-bind

正确写法如下:

  1. <body>
  2. <div id="app">
  3. <img v-bind:src="img" />
  4. </div>
  5. </body>
  6. <script>
  7. var MyVue = new Vue({
  8. el:"#app",
  9. data:{
  10. img:'rev4-3.jpg'
  11. }
  12. })
  13. </script>

(2)绑定类

  • 可动态的切换class属性
  1. <style>
  2. .setBorder{
  3. border: 2px solid red;
  4. }
  5. .setColor{
  6. color: red;
  7. }
  8. </style>
  9. <body>
  10. <div id="app">
  11. <input type="text" :value="msg">
  12. <!-- setBorder为类名 -->
  13. <button type="button" v-bind:class="{'setBorder':border,'setColor':color,}">点击</button>
  14. </div>
  15. </body>
  16. <script>
  17. var MyVue = new Vue({
  18. el:"#app",
  19. data:{
  20. msg:"这是input初始值",
  21. border:true,
  22. color:false,
  23. }
  24. })
  25. </script>

 (3)数组语法

在css里面设定样式,把一个数组传给v-bind:class,以应用一个class列表

  1. <style>
  2. .active{
  3. background-color: indianred;
  4. font-size: 16px;
  5. color: #fff;
  6. }
  7. </style>
  8. <body>
  9. <div id="app">
  10. <ul>
  11. <!-- v-for循环出数组的内容 -->
  12. <!-- 三元运算符 -->
  13. <li v-for="(text,index) in texts" :class="index == act ? 'active' : '' ">
  14. {{text}}
  15. </li>
  16. </ul>
  17. </div>
  18. </body>
  19. <script>
  20. var MyVue = new Vue({
  21. el:"#app",
  22. data:{
  23. texts:['Vue','JavaScript','jQuery','React','HTML'],
  24. act:2
  25. }
  26. })
  27. </script>

 

(4)直接绑定数据对象

在vue实例的data中定义了style对象,这个对象里面是所有的类名及其真值,当里面类的值为true时则被渲染

  1. <style>
  2. .isActive{
  3. font-size: 20px;
  4. color: red;
  5. }
  6. .notActive{
  7. font-size: 20px;
  8. color: green;
  9. }
  10. </style>
  11. <body>
  12. <div id="app">
  13. <p :class="style">我是可改变的样式</p>
  14. </div>
  15. </body>
  16. <script>
  17. var MyVue = new Vue({
  18. el:"#app",
  19. data:{
  20. style:{
  21. "isActive":true, //渲染
  22. "notActive":false //不渲染
  1. } } }) </script>

渲染结果为:

Vue 指令总结大全的更多相关文章

  1. vue指令大全~~~

    是的,这里有很全的vue指令使用~ 1.简单的vue应用 vue作为一个mvvm框架,想想为什么叫做mvvm? Model是负责数据的存储, View负责页面的展示 Model View 负责业务逻辑 ...

  2. Vue指令总结---小白同学必看

    今天主要复习一下我们最熟悉vue指令,想要代码撸得快,就要多看书,多看看官方的文档和学习指令,学习编程是一个非常享受的过程,尤其是你不断地去解决问题,获得一项技能,实现薪水的上涨.进行Vue的指令烹饪 ...

  3. 一个能拖动,能调整大小,能更新bind值的vue指令-vuedragx

    一. 背景说明 开发一个可自定义组件化门户配置页面,期间采用了vue框架作为前端视图引擎,作为一个刚入手vue的萌新,开发第一个功能就遇到了拦路虎.需要一个拖动并且可改变大小的容器盒子.当时查看vue ...

  4. vue指令总结(二)

    一.vue指令 1.v-text v-text是用于操作纯文本,它会替代显示对应的数据对象上的值.当绑定的数据对象上的值发生改变,插值处的内容也会随之更新.注意:此处为单向绑定,数据对象上的值改变,插 ...

  5. vue指令与$nextTick 操作DOM的不同之处

    异步更新队列 可能你还没有注意到,Vue 异步执行 DOM 更新.只要观察到数据变化,Vue 将开启一个队列,并缓冲在同一事件循环中发生的所有数据改变.如果同一个 watcher 被多次触发,只会被推 ...

  6. vue指令概览

    原文 简书原文:https://www.jianshu.com/p/5fd47b7422fd 大纲 1.什么是vue指令 2.向指令中传入参数 3.指令中带入修饰符 4.指令的缩写 5.常见的vue指 ...

  7. vue 指令中el 的 parentNode 为空的问题

    在项目中,突然发现在用vue指令的时候,发现元素el的父元素parentNode变成了null. 代码: if (el.parentNode && !Vue.prototype.$_h ...

  8. vue指令用法

    vue指令 指令式带有 v- 前缀的特殊特性v-text和v-html都属于指令将数据和dom做关联,当表达式的值改变时,响应式地作用在视图 解决大胡子语法闪烁案例 [v-cloak] { dispa ...

  9. Vue框架(一)——Vue导读、Vue实例(挂载点el、数据data、过滤器filters)、Vue指令(文本指令v-text、事件指令v-on、属性指令v-bind、表单指令v-model)

    Vue导读 1.Vue框架 vue是可以独立完成前后端分离式web项目的js框架 三大主流框架之一:Angular.React.Vue vue:结合其他框架优点.轻量级.中文API.数据驱动.双向绑定 ...

随机推荐

  1. node.js的File模块

    1.Node.js是什么? (1) Nodejs是为了开发高性能的服务器而诞生的一种技术 (2) 简单的说 Node.js 就是运行在服务端的 JavaScript,基于V8进行运行 (3) Node ...

  2. Flask:第一个Flask项目

    在上一篇文章:Flask:项目的准备工作中,我写了flask项目的准备工作,不清楚创建flask项目需要做哪些准备的朋友可以点击链接看看 1.最简单的Flask项目 代码: from flask im ...

  3. API 网关知识看这篇就足够了!

    本文已经收录自 JavaGuide (60k+ Star[Java学习+面试指南] 一份涵盖大部分Java程序员所需要掌握的核心知识.) 本文授权转载自:https://github.com/java ...

  4. jdk基础配置

    今遇到一事,tomcat启动是报错,将jdk位数错误,有问题,32位和64位的问题 cmd java -verison 显示的确实是jdk 64位,又跑到 环境变量看了下java_home的配置 这里 ...

  5. 学习笔记30_ORM框架

    *在以往DAL层中,操作数据库使用DataTable,如果使得数据表DataTable转为List<>的话,写错属性名,在编译阶段是查不出来的,而ORM框架能解决此问题. *ORM是指面向 ...

  6. 中文¥乱码 vue js

    /** * * 中文¥格式化,返回格式化后的¥100.00 * @param {any} money */utils.formatCNY = function (money) { let format ...

  7. FastJson稍微使用不当就会导致StackOverflow

    GitHub 9.4k Star 的Java工程师成神之路 ,不来了解一下吗? GitHub 9.4k Star 的Java工程师成神之路 ,真的不来了解一下吗? GitHub 9.4k Star 的 ...

  8. java架构之路-(NoSql专题)MongoDB快速上手

    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".在现代的计算系统上每天网络上都会产生庞大的数据量.这些数据有很大一部分是由关系数据库管理系统(RD ...

  9. python基础-闭包函数和装饰器

    闭包函数和装饰器 闭包函数 概念:在函数中(嵌套)定义另一个函数时,内部函数引用了外层函数的名字. 特性 闭包函数必须在函数内部定义 闭包函数可引用外层函数的名字 闭包函数是函数嵌套.函数对象.名称空 ...

  10. Mybaits 源码解析 (十二)----- Mybatis的事务如何被Spring管理?Mybatis和Spring事务中用的Connection是同一个吗?

    不知道一些同学有没有这种疑问,为什么Mybtis中要配置dataSource,Spring的事务中也要配置dataSource?那么Mybatis和Spring事务中用的Connection是同一个吗 ...