一.文本操作指令

//1.v-text
<p v-text="msg"></p>
等价于
<p>{{msg}}</p> //2.v-html
//可以解析带html标签的文本信息
<p v-html='msg'></p>
<script>
new Vue({
el: '#app',
data: {
msg: '<b>文本</b>'
}
})
</script> //3.v-once一次性文本赋值
<p v-once>{{ msg }}</p>

二 避免页面闪烁指令

<style>
[v-cloak] {
display: none;
}
</style>
//加在app上
<div id="app" v-cloak> </div>

三 关键指令

    <div id="app">
<!-- v-bind: --> <!-- v-bind:指令可以简写 : -->
<p :class="'simple'">简写</p> <!-- 该指令 绑定 的是属性(html标签的全局属性) -->
<!-- 绑定后的属性的属性值可以由变量控制 -->
<p v-bind:abc="abc"></p> <!-- 绑定后 操作单一变量 -->
<p v-bind:title="t1">p1p1p1p1p1p1p1</p>
<!-- 绑定后 操作普通字符串 -->
<p v-bind:title="'t2'">p2p2p2p2p2p2p2</p> <!-- 多类名 单一变量操作 -->
<p v-bind:class="t3">p3p3p3p3p3p3p3</p>
<p v-bind:class="[t4, tt4]">p4p4p4p4p4p4</p> <!-- 绑定class的{}语法 {key: value} key就是实际的类名,value是该类名的显隐(true就是起作用,false就是不起作用) -->
<p v-bind:class="{abc: false}">p5p5p5p5p5p5</p>
<p v-bind:class="{abc: t5}" v-on:click="fn">p5p5p5p5p5p5</p> <!-- class的[] {} 结合使用 -->
<!-- class的值为p6 pp6, t6 tt6是值为true|false的变量,控制p6 pp6是否起作用 -->
<p v-bind:class="[{p6: t6}, {pp6: tt6}]">p6p6p6p6p6p6p6p6</p> <!-- v-bind操作class -->
<!-- [a, b] a,b为变量,对其赋值的是class的具体值 -->
<!-- eg: a:active b:red => class="active red" --> <!-- {a: b} a为class值, b为值为true|false的变量,控制a的显隐 -->
<!-- eg: b:true => class="a" -->
<!-- eg: b:false => class="" --> <!-- 操作style -->
<!-- style一般都是多条样式 -->
<div :style="div_style"></div>
<div :style="{width: '100px', height: '100px', backgroundColor: 'blue'}"></div>
</div>

v-bind 绑定html标签全局属性

<div id="app">
<form action=""> <!-- 数据的双向绑定 -->
<!-- v-model绑定的是value,所以省略 -->
<input type="text" v-model="val1" name="usr">
<textarea v-model="val1"></textarea>
<p v-text="val1"></p> <!-- 单一复选框 -->
<!-- val2值为true|false的变量,控制单选框是否被选中 -->
<!-- -->
<input type="checkbox" v-model="val2" name="ck1">
<!-- val3值为自定义"选中"|"未选中",控制单选框是否被选中 -->
<!-- 选中状态,提交给后台可以对应的value为on,未选中状态,不向后台提交value值 -->
<input type="checkbox" v-model='val3' true-value="选中" false-value="未选中" name="ck2" /> <!-- 多复选框 -->
<!-- 多个复选框的v-model绑定一个变量 -->
<!-- 该变量为数组数据,存放的是复选框的value值(value值必须明确) -->
<!-- 出现在数组中的value值对应的复选框默认为选中状态 -->
<div>
篮球<input type="checkbox" value="lq" v-model="val4" name="ck3">
足球<input type="checkbox" value="zq" v-model="val4" name="ck3">
乒乓球<input type="checkbox" value="ppq" v-model="val4" name="ck3">
</div> <!-- 多单选框 -->
<!-- 多个单选框的v-model绑定一个变量 -->
<!-- 变量值为多个单选框中一个的value值,则该单选框为默认选中状态 -->
<div>
男:<input type="radio" value="男" v-model='val5' name="sex" />
女:<input type="radio" value="女" v-model='val5' name="sex" />
</div> <button type="submit">提交</button>
</form>
</div>

v-model 表单值,选中状态(数据双向绑定)

<div id="app">
<!-- v-on: 指令 -->
<p v-on:click='fn1'></p>
<!-- 简写: @ -->
<!-- 绑定的是事件,操作的是事件对应的方法名 -->
<p @click="fn1"></p>
<!-- 直接绑定方法名,不会携带自定义参数,但回调时能取到事件参数ev -->
<p @click="fn2"></p>
<!-- 带()的方法绑定,只传自定义参数,回调时只能取到自定义参数,事件参数ev丢失 -->
<p @click="fn3(10)"></p>
<!-- 带()的方法绑定,传入自定义参数同时,显式传入事件$event,回调时可以取到自定义参数及事件参数ev -->
<p @click="fn4($event, 10, 20)"></p>
<p @click="fn5(10, $event, 20)"></p>
</div>

v-on 绑定事件

四 条件指令

    <div id="app">
<button @click="toggle">显隐切换</button>
<!-- v-if -->
<div class="box r" v-if="isShow"></div>
<!-- v-show -->
<div class="box o" v-show="isShow"></div>
<!-- 1.条件渲染的值为true|false -->
<!-- 2.true代表标签显示方式渲染 -->
<!-- 3.false v-if不渲染到页面,v-show以display:none渲染到页面,但也不会显示 --> <!-- v-if v-else-if v-else -->
<ul>
<li @mouseover="changeWrap(0)">red</li>
<li @mouseover="changeWrap(1)">green</li>
<li @mouseover="changeWrap(2)">blue</li>
</ul>
<!-- red页面逻辑结构 -->
<div class="wrap red" v-if="tag == 0" key="0">...</div>
<!-- green页面逻辑结构 -->
<div class="wrap green" v-else-if="tag == 1" key="1">...</div>
<!-- blue页面逻辑结构 -->
<div class="wrap blue" v-else key="2">...</div>
<!-- v-if相关分支操作,在未显示情况下,是不会被渲染到页面中 -->
<!-- 通过key全局属性操作后,渲染过的分支会建立key对应的缓存,提高下一次渲染速度 --> <ul>
<li @mouseover="changeMain(0)">red</li>
<li @mouseover="changeMain(1)">green</li>
<li @mouseover="changeMain(2)">blue</li>
</ul>
<!-- red页面逻辑结构 -->
<div class="main red" v-show="whoShow(0)">...</div>
<!-- green页面逻辑结构 -->
<div class="main green" v-show="whoShow(1)">...</div>
<!-- blue页面逻辑结构 -->
<div class="main blue" v-show="whoShow(2)">...</div> </div>

v-if|v-if v-else-if | v-show

5  循环指令(必须建立缓存:key='' 不然标签有波浪 有错误)

    <div id="app">
<!-- 列表 -->
<ul>
<!-- n为值 -->
<li v-for="n in list">{{ n }}</li>
</ul>
<!-- 一般列表渲染需要建立缓存 -->
<!-- 列表渲染是循环,需要赋值变量给key,使用key需要v-bind:处理 -->
<ul>
<!-- n为值 i为索引 key建立缓存-->
<li v-for="(n, i) in list" :key="i">value:{{ n }} | index: {{ i }}</li>
</ul> <!-- 字典-->
<ul>
<!--v为值 k为键 i为索引 -->
<li v-for="(v, k, i) in dic" :key="k">value:{{ v }} | key:{{ k }} | index: {{ i }}</li>
</ul> <!-- 遍历的嵌套 -->
<div v-for="(person, index) in persons" :key="index" style="height: 21px;">
<div v-for="(v, k) in person" :key="k" style="float: left;">{{ k }} : {{ v }}&nbsp;&nbsp;&nbsp;</div>
</div>
</div>

v-for 数组|字典 2者嵌套使用

案例

<body>
<div id="app">
<div>
<input type="text" v-model="val">
<button type="button" @click="submitMsg">提交</button>
</div>
<ul>
<li v-for="(v, i) in list" :key="i" @click="removeMsg(i)">{{ v }}</li>
</ul>
{{ list }}
</div>
</body>
<script src="js/vue-2.5.17.js"></script>
<script type="text/javascript">
new Vue({
el: "#app",
data: {
val: "",
list: []
},
methods: {
submitMsg () {
// 往list中添加input框中的value
if (this.val) {
this.list.push(this.val);
this.val = ""
}
},
removeMsg(index) {
this.list.splice(index, 1)
}
}
})
</script>

评论提交删除(功能)

Vue 指令篇 案例(输入提交显示 提交数据_列表)的更多相关文章

  1. vue指令概览

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

  2. 第三篇:Vue指令

    Vue指令 1.文本指令相关 v-*是Vue指令,会被vue解析,v-text="num"中的num是变量(指令是有限的,不可以自定义) v-text是原样输出渲染内容,渲染控制的 ...

  3. Vue框架(二)——Vue指令(v-once指令、v-cloak指令、条件指令、v-pre指令、循环指令)、todolist案例、Vue实例(计算、监听)、组件、组件数据交互

    Vue指令 1.v-once指令  单独使用,限制的标签内容一旦赋值,便不可被动更改(如果是输入框,可以主动修改) <!DOCTYPE html> <html lang=" ...

  4. Vue.js 源码分析(二十二) 指令篇 v-model指令详解

    Vue.js提供了v-model指令用于双向数据绑定,比如在输入框上使用时,输入的内容会事实映射到绑定的数据上,绑定的数据又可以显示在页面里,数据显示的过程是自动完成的. v-model本质上不过是语 ...

  5. Git show-branch显示提交信息

    git中查看日志,我们用的比较多的就是 git log 以及带一些参数,如: 以一行显示提交日志: $ git log --pretty=oneline 显示最后的几次提交日志: $ git log ...

  6. eclipse svn不显示提交人、提交时间的问题

    最近eclipse换到最新的mars版本,装了svn插件subversive后,拉下项目后发现都不显示提交人了,以前都不这样的呀,新版不一样了么? 后来网上搜索总算找到方法解决: Window--&g ...

  7. svn显示提交人以及时间

    eclipse使用svn显示提交人以及提交时间,方便查看自己修改过的代码,过程如下: Window-->Preferences-->Team-->SVN-->Lable dec ...

  8. Vue.js 源码分析(二十三) 指令篇 v-show指令详解

    v-show的作用是将表达式值转换为布尔值,根据该布尔值的真假来显示/隐藏切换元素,它是通过切换元素的display这个css属性值来实现的,例如: <!DOCTYPE html> < ...

  9. Vue.js 源码分析(二十一) 指令篇 v-pre指令详解

    该指令会跳过所在元素和它的子元素的编译过程,也就是把这个节点及其子节点当作一个静态节点来处理,例如: <!DOCTYPE html> <html lang="en" ...

随机推荐

  1. ACdream - 1060 递推数(矩阵+循环节)

    https://vjudge.net/problem/71677/origin 已知A(0) = 0 , A(1) = 1 , A(n) = 3 * A(n-1) + A(n-2) (n ≥ 2) 求 ...

  2. DevC++ return 1 exit status

    当使用DevC++时编译运行程序出现 return 1 exit status 有可能是因为有在运行的命令窗口未关闭.

  3. Elasticsearch入门之从零开始安装ik分词器

    起因 需要在ES中使用聚合进行统计分析,但是聚合字段值为中文,ES的默认分词器对于中文支持非常不友好:会把完整的中文词语拆分为一系列独立的汉字进行聚合,显然这并不是我的初衷.我们来看个实例: POST ...

  4. Hibernate的注解和检索

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...

  5. 三.HashMap原理及实现学习总结

    HashMap是Java中最常用的集合类框架之一,是Java语言中非常典型的数据结构.本篇主要是从HashMap的工作原理,数据结构分析,HashMap存储和读取几个方面对其进行学习总结.关于Hash ...

  6. Docker(三)Docker是如何工作的

    摘自 https://mp.weixin.qq.com/s/SsXIuDqeze_et8vWQ8fr3g 一.Docker Client 也称为Docker客户端.其实就是Docker提供命令行界面工 ...

  7. JavaScript之正则表达式[应用实例]

    1. 获取信息 "水资源利用与保护周三第9,10,11节{第1-6周}施浩然3B-302多媒体教室152座信息检索周三第9,10节{第9-12周}谭长拥4A-207多媒体160座{第12周} ...

  8. Karel版本的nnet1

    除了chain,nnet1, nnet2, nnet3训练时调整转移模型,chain模型使用类似与MMI的训练准则 概要 Karel Vesely的nnet1用到以下技术: 每一层进行预训练,基于RB ...

  9. JavaScript实现框选效果

    <html> <head> <title>region</title> <style> body { margin: 0; padding: ...

  10. 【VMware vSphere】再谈VMware vSphere

    写在前面 在进行操作vSphere产品之前,就曾经对它进行过一个简单了解:[运维]VMware vSphere简单了解,现在再回头看,发现了解的真的是太简单了.经过前一段时间学习之后,对它又有了新的感 ...