文章目录

  • v-text & v-html
  • v-model
  • v-on
  • v-for
  • v-if & v-show
  • v-bind

v-text & v-html

在讲这两个指令之前,先说说我们很熟悉的 插值,再来说说用这两条指令替代插值的好处。

语法:

{{插值表达式}}

说明:

(1)这是使用Vue实例最简单的方式——花括号内部可以直接使用Vue实例的数据和方法

(2)不管是直接写个js语句,还是调用Vue实例,花括号内部必须有返回值

(3)当网速过慢,数据尚未加载成功时,页面时会显示最原始的花括号,这种现象叫做 插值闪烁 —— 使用指令可以避免这种现象

语法:

<span v-text="msg"></span>
<span v-html="msg"></span>

说明:

(1)将数据写到元素内部,如果数据是HTML语句,会被当作普通文本

(2)将数据写到元素内部,如果数据是HTML语句,会作为HTML被渲染

演示:

<div id="app"><span v-text="msg"></span><br><span v-html="msg"></span><br>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {// 注意这里的数据msg: "<h2>Lolisuki!<h2>"}});
</script>

v-model

语法:

<input type="checkbox" value="111" v-model="xxx">111<br>
<input type="checkbox" value="222" v-model="xxx">222<br>
<input type="checkbox" value="333" v-model="xxx">333<br>

说明:

(1)上面讲的v-text/v-html其实是单向绑定,因为此时页面上的元素并不能被用户改动

(2)而v-model可是实现模型与视图的双向绑定,因为使用v-model的元素都是用户可以在视图直接修改的

(3)所以可使用v-model的元素有:input、select、textarea、checkbox、radio等

(4)上面的这些元素,对应的绑定数据的类型是不同的。比如input、textarea对应字符串,select、checkbox对应数组

演示:

<div id="app"><input type="checkbox" value="物述有栖" v-model="vtuber">物述有栖<br><input type="checkbox" value="神乐七奈" v-model="vtuber">神乐七奈<br><input type="checkbox" value="猫宫日向" v-model="vtuber">猫宫日向<br><h2>你选择了:{{vtuber.join(" ")}}</h2>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {vtuber: []}});
</script>

v-on

语法:

v-on:click="xxxxxx"
@click="xxxxxxx"

说明:

(1)用于给页面元素绑定事件

(2)之前我们使用的 event.preventDefault() 或 event.stopPropagation() 在Vue中如何实现呢?用下面的这些事件修饰符

事件修饰符 作用
.stop 阻止事件冒泡
.prevent 阻止默认事件发生
.capture 使用事件捕获模式
.self 只有元素自身触发事件才执行,冒泡或捕获的都不执行
.once 只执行一次

演示:

<div id="app"><button v-on:click="inc">增加</button><button v-on:click="dec">减少</button><h2>num = {{num}}</h2>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {num: 1},methods: {inc() {this.num++;},dec() {this.num--;}}});
</script>

v-for

语法:

遍历数组:
v-for="item in items"
遍历对象:
v-for="value in object"
v-for="(value,key) in object"

说明:

(1)既可以遍历数组元素,又可以遍历对象属性

(2)还可以在遍历时加上下标,比如 v-for="(item, index) in items"

演示:

<div id="app"><ul><li v-for="user in users">{{user.name}} 的年龄是 {{user.age}}</li></ul><br><ul><li v-for="(value, key) in person">对象的属性{{key}},对象的属性值{{value}}</li></ul>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {// 对象列表users: [{"name": "Alice", "age": 12},{"name": "Mana", "age": 11},{"name": "Hana", "age": 11},],// 单个对象person: {"name": "Alice", "age": 12}}});
</script>

v-if & v-show

语法:

v-if="布尔表达式"
v-show="布尔表达式"

说明:

(1)v-if为false的时候,元素直接会不存在

(2)v-show为false的时候,元素只是display: none而已

(3)你甚至可以使用 v-else-if 和 v-else

演示:

<div id="app"><button @click="show=!show">点我切换</button><h2 v-if="show">Lolisuki!!!</h2>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {show: true}});
</script>

v-bind

语法:

v-bind:属性名="Vue中的变量"

说明:

(1)v-bind用于在属性上(即标签上的各种字段)使用Vue数据

(2)因为元素的属性是不允许使用插值的,所以修改元素属性也只能使用v-bind

演示:

<div id="app"><img v-bind:src="imgSrc" :height="imgHeight" :width="imgWidth"/><div v-bind:style="divStyle">Lolisuki!!!</div><div v-bind:class="divClass">Lolisuki!!!</div>
</div>
<script type="text/javascript">var app = new Vue({el: "#app",data: {imgSrc: "img/pic.png",imgHeight: "600px",imgWidth: "1000px",divStyle: "color:pink",divClass: "pink" // css中要有.pink类}});
</script>

❤️

【Vue】v-xxx指令全面总结相关推荐

  1. Vue的常用指令(v-html {{}}文本插值,v-bind绑定属性,v-if条件渲染,v-for列表渲染,v-on @ 事件绑定,v-model表单绑定)

    Vue的常用指令(文本插值,绑定属性,条件渲染,列表渲染,事件绑定,表单绑定) Vue 的介绍 Vue 是一套构建用户界面的渐进式前端框架. 只关注视图层,并且非常容易学习,还可以很方便的与其它库或已 ...

  2. vue实例、指令、生命周期

    vue实例.指令.生命周期 本章重点 1.生命周期 2.插值 3.指令 一.创建一个实例vue实例 每一个vue应用都是通过vue函数创建一个新的vue实例开始的 语法: ver vm = new V ...

  3. vue 什么是渐进式 响应式 意思。Vue常用的指令。VUE:跨域设置。vue router 新窗口。$router.push。

    Vue  是 轻量的 模型视图视图模型 框架.就是数据的双向开发. 数据驱动+组件化开发. 渐进式框架. 官网:cn.vuejs.org 在读 Vue2.0 文档的时候,介绍"Vue.js( ...

  4. vue create xxx创建项目过程中报错的解决方法

    vue create xxx创建项目过程中报错的解决方法 报错图例 解决办法 报错图例 解决办法 首先检查电脑里是否安装node.js 检查方法:命令行输入 node -v 还要再输入一个 npm - ...

  5. Vue -- 基础语法指令(v-bind,v-if,v-else,v-else-if,v-for)

    文章目录 1. Vue--基础语法指令(v-bind,v-if,v-else,v-else-if,v-for) 1.1 v-bind 1.1.1 代码示例 1.1.2 运行结果 1.1.3 小结 1. ...

  6. 01 vue 基础(指令)

    vue官网 https://cn.vuejs.org/ 一.什么是 MVVM M - model 数据 (提供) V - view 界面 / 模板(提供) VM - viewModel 连接模板和数据 ...

  7. Vue 内置指令、自定义指令、过滤器

    文章目录 内置指令 v-text指令 v-html指令 v-cloak指令 v-once指令 v-pre指令 自定义指令 过滤器 内置指令 复习之前所学指令: v-bind:单向绑定解析表达式, 可简 ...

  8. VUE使用自定义指令对普通 DOM 元素进行底层操作

    使用vue的自定义指令来整合某个重复使用的底层操作 举个聚焦输入框的例子,如下: 当页面加载时,该元素将获得焦点 (注意:autofocus 在移动版 Safari 上不工作).事实上,只要你在打开这 ...

  9. Vue--》 Vue六大基础指令使用方法

    目录 Vue指令 内容渲染指令 v-text.{{}}.v-html 属性绑定指令 v-bind 事件绑定指令 v-on 双向绑定指令 v-model 条件渲染指令 v-show.v-if.v-els ...

  10. Vue基本用法-指令(二)

    1.3 事件绑定指令 vue 提供了 v-on 事件绑定指令,用来辅助程序员为 DOM 元素绑定事件监听.语法格式如下: 注意:原生 DOM 对象有 onclick.oninput.onkeyup 等 ...

最新文章

  1. Acwing第 9 场周赛【未完结】
  2. python使用opencv查找轮廓_Python+opencv学习记录20:轮廓发现,Pythonopencv
  3. 垃圾回收算法优缺点对比
  4. iOS开发隐藏tabBar的问题
  5. f2blog最新注入漏洞
  6. 解决问题:swiper动态加载图片后无法滑动
  7. atitit.javascript调用java in swt attilax 总结
  8. python通信系统仿真_Python与V-REP联合仿真
  9. excel如何让日期/时间增加指定分钟、小时、日
  10. Html炫酷代码例程
  11. 怎样把COFFEEscript 编译成JS
  12. 4种工资条制作方法,总有一款适合你
  13. 动图文件太大怎么办?一招教你在线压缩GIF图片
  14. UDS-下载示例解读
  15. jackson学习之五:JsonInclude注解,颠覆认知
  16. volice java_Volice~亡者之声~
  17. QuartusII绑定引脚时出现错误:Error: Can‘t place multiple pins assigned to pin location Pin_108 (IOC_X34_Y2_N0)
  18. 小程序微信支付完整demo源码,包含退款
  19. c语言的运算符号优先级
  20. C++如何表示次方(尖号^不是次方的意思,e也不是次方的意思)

热门文章

  1. WinSCP使用ssh登入服务器
  2. html5中preload是什么意思,html的video标签的preload属性详解
  3. 西藏自治区那曲地区谷歌高清卫星地图下载
  4. python汉诺塔递归并统计次数_Python之汉诺塔递归运算
  5. 掌财社:乖离率助你掌握赚钱不二法则
  6. Unity实战篇:实现连连看死局判定(二:具体实现)
  7. android融合存储,科技瞭望台:8G真能变12G?详解手机内存融合技术
  8. ssbdemod在matlab中的意义,matlab中modulate函数
  9. Pintia 登鹳雀楼
  10. 安卓java环境配置文件_【图片】【教程】配置安卓Java环境变量【手机端反编译吧】_百度贴吧...