博客
关于我
vue.js常用指令及用法
阅读量:326 次
发布时间:2019-03-04

本文共 4819 字,大约阅读时间需要 16 分钟。

v-if

v-if指令可以完全根据表达式的值在DOM中生成或移除一个元素。

如果v-if表达式赋值为false,那么对应的元素就会从DOM中移除;

否则,对应元素的一个克隆将被重新插入DOM中

<template>    <div id="app">        <h1>Title</h1>        <p>paragraph 1</p>        <p>paragraph 2</p>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               greeting: true        }    })</script>

v-show

v-show指令是根据表达式的值来显示或者隐藏HTML元素。当v-show赋值为false时,元素被隐藏。查看DOM时,会发现元素上多了一个内联样式style=“display:none”。

<template>    <div id="app">        <h1>Title</h1>        <p v-show="ok">我是对的</p>        <p v-show="no">我是错的</p>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               ok: true,            no: false        }    })</script>

v-model

v-model指令用来在input、select、text、checkbox、radio等表单控件元素上创建双向数据绑定的。根据控件类型v-model自动选取正确的方法更新元素。

<div id="example">    <form>        姓名:        <input type="text" v-model="data.name" placeholder="姓名"/>        <br />        性别:        <input type="radio" id="one" value="One" v-model="data.sex"/>        <label for="man"></label>        <input type="radio" id="two" value="Two" v-model="data.sex"/>        <label for="male"></label>        <br />        <input type="checkbox" id="jack" value="book" v-model="data.interest"/>        <label for="jack">阅读</label>        <input type="checkbox" id="john" value="swim" v-model="data.interest"/>        <label for="john">游泳</label>        <input type="checkbox" id="move" value="game" v-model="data.interest"/>        <label for="move">游戏</label>        <input type="checkbox" id="mike" value="song" v-model="data.interest"/>        <label for="mike">唱歌</label>        <br />        身份:        <select v-model="data.identity">            <option value="teacher" selected>教师</option>            <option value="doctor">医生</option>            <option value="lawyer">律师</option>        </select>             </form></div><script type="text/javascript">    new Vue({           el: '#example',        data: {               data:{                  name:'',               sex:'',               interest:[],               identity:''            }        }    })</script>

v-for

<template>    <div id="app">        <h1>Title</h1>        <ul>            <li v-for="item in items" class="item-{   {$index}}">                {   {   $index}} - {   {   parentMessess}} - {   {   item.msg}}            </li>        </ul>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               : '前端开发基础技术',            items:{                   {   msg: 'html'}{   msg: 'css'},                {   msg: ‘javascript'}            }        }    })</script>

v-text

v-text 指令可以更新元素的textContent.

<span v-text="msg"></span> <br/><span>{   {   msg}}</span>

v-html

v-html指令更新元素的innerHTML 能解析html标签

<template>    <div id="app">        <h1>Title</h1>        <p v-html="msg"></p>        <p>{   {   msg}}</p>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               msg:'<p>效果一样</p>'        }    })</script>

v-bind

v-bind指令用于响应更新HTML特性,将一个或者多个attribute,或者一个组件prop动态绑定到表达式简写为:。

<template>    <div id="app">        <h1>Title</h1>        <div :class="[classA,{   classB:isB,classC:isC}]></div>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               classA: 'A',            isB: false,            isC: true        }    })</script>

v-on

v-on指令用于绑定事件监听器。事件类型由参数指定。

如果访问原始DOM事件,可以使用$event传入方法 ,简写为@

<template>    <div id="app">        <h1>Title</h1>        <p> {   {   }} </p>        <button v-on:click="doThis">doThis</button>    </div></template>  <script type="text/javascript">    var vm = new Vue({           el: "#app",        data: {               msg: 'hello world',        },        methods: {               doThis: function(){                   this.msg = 'hello world change !!!'            }        }    })</script>

v-cloak

解决差值表达式闪烁的问题

<!DOCTYPE html><html lang="en"> <head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>Document</title>    <script src="https://unpkg.com/vue/dist/vue.js"></script></head><style>        [v-cloak]{               display: none;        }</style></head> <body>       <div id="app" v-cloak>{   {   msg}}</div>     <script>            new Vue({                   el: '#app',                data: {                       msg: '欢迎Vue!'                }            })        </script></body> </html>

v-pre

跨过当前的标签不解析

<div id="app">   <span v-pre>{   {   msg}} 这句不会编译</span> </div> <script>   var app =new Vue({        el:'#app',     msg:'this is a message'   }); </script>

转载地址:http://rque.baihongyu.com/

你可能感兴趣的文章
JAVA初窥-DAY07
查看>>
数组--Go语言学习笔记
查看>>
Spring Boot (二十一)——自定义异常处理
查看>>
Redis (三)——Linux 上安装 Redis
查看>>
Redis踩坑(1)-----配置文件redis.conf修改后不生效问题
查看>>
从零带你学习Go语言:23、 Go指针 、切片、 map、 结构体复习
查看>>
广东iOS企业开发者签名有没有好的推荐?
查看>>
iOS企业签名掉签会提前知道的么?
查看>>
苹果企业签名首要考虑的真的是价格因素么?别傻了
查看>>
关于scanf函数在VS中使用的问题
查看>>
操作符初识
查看>>
c编程常见错误-函数声明没有参数类型声明
查看>>
Dialog篇
查看>>
概率论 贝叶斯公式
查看>>
数据挖掘 如何做 Python数据分析与挖掘实战
查看>>
java 重写(override)和重载(overload)区别
查看>>
java 多态
查看>>
java 多态类型转换
查看>>
java ==和equals
查看>>
java 接口(Interface)
查看>>