1.vue指令的使用前提

el挂载点

作用:el是用来设置Vue实例挂载(管理)的元素
几个疑问:
Vue实例的作用范围是什么呢?
Vue会管理el选项命中的元素及其内部的后代元素
是否可以使用其他的选择器?
可以,但是实际开发时选择id选择器
是否可以设置其他的dom元素?
可以,但是只能支持双标签(闭合标签),而且还不能使用在HTML和body上

{{message}}<h1 id="app" class="app">{{message}}<span>{{message}}</span></h1><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",//这是id选择器//el:".app",//这是类选择器//el:"div",//这是标签选择器//el:'#body',data:{message:"脱发程序员"}})</script>

data:数据对象

Vue中用到的数据定义在data中
data中可以写复杂的数据类型
渲染复杂类型数据时,遵守js语法即可
示例:


<script>var app = new Vue({el:"#app",data:{message:"你好 Vue",school:{name:"张三",mobile:"453-000"},campus:["上海","广州","深圳","北京"]}})</script>

2.什么是vue指令

Vue 指令就是以 “v-” 开头,作用于 DOM ,为 DOM 添加特殊行为的一种指令。简单的来说就是带有v-前缀的特殊属性。下面开始介绍常见的vue指令。

v-text指令

v-text指令的作用是:设置标签的内容
默认写法替换全部内容,使用差值表达式{{}}可以替换指定内容

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><div id="app"><p v-text="message">BOSS</p><h1 v-text="info">小怪</h1><h2>{{input}}哥布林</h2></div><script>var app = new Vue({el:"#app",data:{message:"老板",info:"老怪",input:"小怪变"}})</script>

v-html指令

v-html指令的作用是设置元素的 innerHTML
内容中有html机构会被解析为标签

与v-text的区别是
v-text指令无论内容是什么,只会解析为文本
所以在解析文本时使用v-text,需要解析html结构使用v-html

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><div id="app"><p v-html="content"></p><p v-text="content"></p></div><script>var app = new Vue({el:"#app",data:{content:"<a href='http://www.qq.com'>腾讯qq</a>"}})</script>

v-on指令

v-on的作用是:为元素绑定事件
事件名不需要写on
指令简写成@
绑定方法定义在methods属性中
注意:methods跟el/data是平级的
方法的内部通过this关键字可以访问定义在 data数据
为元素绑定事件
当用户希望进行一些特定操作时,例如,点击,按键盘,滑动鼠标
前后添加一些自定义的逻辑就可以为对应的元素绑定事件
当数据更改以后页面是同步更新的,所以在v-on中不需要更改dom元素,重点放在更改的数据就可以了

<div id="app"><!-- <input type="button" value="v-on指令" v-on:click="doIt"> --><input type="button" value="v-on简写" @click="doIt"><input type="button" value="双击事件" @dblclick="doIt"><h2 @click="changeFood">{{food}}</h2></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{food:"西红柿",},methods:{doIt:function(){alert("做it");},changeFood:function(){console.log(this.food);this.food +="好吃!"}}})</script>

v-on指令补充
事件绑定的方法写成函数调用的形式,可以传入自定义参数
定义方法时需要定义形参来接收传入的实参
事件的后面跟上修饰符可以对事件进行限制
enter可以限制触发的按键为回车
事件修饰符有多种

v-show指令

v-show指令的作用是:根据真假切换元素的显示状态
原理是修改元素的display,实现显示隐藏
指令后面的内容,最终都会解析为布尔值

示例

<div id="app"><input type="button" value="切换显示状态" @click="changeIsShow"><br><br><input type="button" value="累加年龄" @click="addAge"><input type="button" value="减少年龄" @click="moveAge"><img v-show="isShow" src="./img/one world.jpg" alt="miaomiao" style="width: 30%; position: absolute; left: 40%; top: 10%;"><img v-show="age>=19" src="./img/one world.jpg" alt="miaomiao" style="width:30%; position:absolute;left:0; top: 13%;"></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:'#app',data:{isShow:false,age:17},methods:{changeIsShow:function(){this.isShow = !this.isShow;},addAge:function(){this.age++;},moveAge:function(){this.age--;}}})</script>

v-if指令

v-if指令的作用是:根据表达式的真假切换元素的显示状态
本质是通过操作dom元素来切换显示状态
表达式的值为true,元素存在于dom数中,为false,从dom中移除

<div id="app"><input type="button" value="点击显示" @click="qufan"><p v-if="message">黑马胖子</p><h2 v-text="message2">白马王子</h2><h1 v-if="time<=13">该吃饭了</h1></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el:"#app",data:{message:false,time:14,message2:"骑黑马的都是胖子"},methods:{qufan:function(){this.message = !this.message;}}})</script>

v-bind指令

v-bind指令的作用是为元素绑定属性
用法v-bind:属性名=表达式
完整写法是:v-bind:属性名
简写的话可以直接省略v-bind只保留:属性名
示例:
代码中v-bind使用的是简写

<div id="app"><img v-bind:src="imgSrc" :title="imgTitle"><br><br><!-- <a v-bind:href="aHref"></a> --><!-- <img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="isActive?'active'':'" @click="toggleActive"> --><img :src="imgSrc" alt="" :title="imgTitle+'!!!'" :class="{active:isActive}" @click="toggleActive"></div><script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><script>var app = new Vue({el: "#app",data: {imgSrc: "http://www.baidu.com/img/flexible/logo/pc/result.png",// imgSrc:"http://www.itheima.com/images/logo.png"imgTitle: "百度",isActive: false},methodes: {toggleActive: function () {this.isActive = !this.isActive}}})</script>

v-for指令

v-fo是和数据绑定的。
v-for指令的作用是:根据数据生成列表结构
数组经常和v-for结合使用
语法是(item,index)in数据 其中item表示每一项 index表示索引
数据对应在data:{中}
item和index可以结合其他指令一起使用
数组长度的更新会同步到页面上,是响应式的

<div id="app"><input type="button" value="添加美食" @click="add"><input type="button" value="删除美食" @click="remove"><ul><li v-for="(it,index) in arr">{{index+1}}地址:{{it}}</li></ul><h2 v-for="item in vagettables" v-bind:title="item.name">{{item.name}}</h2></div><script>var app = new Vue({el:"#app",data:{arr:["郑州","开封","新乡","信阳"],vagettables:[{name:"烧烤"},{name:"烩面"},{name:"羊肉"},{name:"毛尖"}]},methods:{add:function(){this.vagettables.push({name:"蛋炒饭"})},remove:function(){this.vagettables.shift({});}}})</script>

v-model指令

v-model指令的作用是便捷的设置和获取表单元素的值
绑定的数据会和表单元素值相关联
绑定的数据<—— ——>表单元素的值

什么叫双向呢?
就是一解析以后message的值会同步到我们的表单元素的上面
当我们更改了表单元素的值以后,它也会把我们的这次的更新同步 到message上面
双向就是更改两边的任何一边他们都会同步更新对方的值

<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script><div id="app"><input type="text" v-model="message" @keyup.enter="getMessage"><input type="button" value="修改message" @click="setMessage"></div><script>var app = new Vue({el:"#app",data:{message:"黑猫"},methods:{getMessage:function(){alert(this.message);},setMessage:function(){this.message = "变白猫";}}})</script>

以上就是vue常用的指令。

vue基础之vue的常用指令相关推荐

  1. vue基础--模板语法、常用指令:v-if、v-show、v-for、虚拟DOM、v-once、v-cloak、v-text、v-html、v-bind、v-on、自定义指令

    一.模板语法 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML,所以能被遵循规范的浏览器和 ...

  2. Vue全家桶(一):Vue基础+Vue-Cli+Vue组件化+过渡动画

    目录 1.Vue概述 1.1 认识Vue 1.2 Vue的两核心 1.3 Vue的初体验 1.4 Vue的生命周期 2. Vue-CLI (Command Line Interface) 3. Vue ...

  3. 【Vue基础】Vue基础自测45题

    Vue基础自测45题 1.什么是Vue?Vue的核心理念是什么? 2.什么是MVC和MVVM? 3.框架和库的区别? 4.插值表达式 5.vue指令界面防止闪烁 6.vue指令v-html和v-tex ...

  4. Vue基础之Vue条件渲染

    v-if 在 Vue.js ,我们使用 v-if 指令实现的功能 也可以用 v-else 添加一个 "else" 块 template-if 因为 v-if 是一个指令,需要将它添 ...

  5. Vue基础之Vue实例

    构造器: 每个 Vue.js 应用都是通过构造函数 Vue 创建一个 Vue 的根实例 启动的: 在实例化 Vue 时,需要传入一个选项对象,它可以包含数据.模板.挂载元素.方法.生命周期钩子等选项. ...

  6. 【一天时间|vue基础】vue组件间通信

    一天时间系列文章是博主精心整理的面试热点问题和难点问题,吸收了大量的技术博客与面试文章,总结多年的面试经历,带你快速并高效地审视前端面试知识.直击技术痛点,主动出击,精密打击,这才是面试拿到高薪的秘诀 ...

  7. ROS基础一之ROS常用指令集合

    ROS常用指令集合 ROS常用指令集合 1.功能包相关指令 2.topic相关指令 3.service相关指令 4.msg/srv相关指令 5.param相关指令 6.node相关指令 7.rqt相关 ...

  8. 【vue 基础】 vue常用指令 实例总结

    文章目录 1.v-bind 2. v-on 2.1 参数问题 2.2 修饰符问题 3. v-for 4. v-if 5.v-show 6. v-model(重点) 6.1 原理 6.2 v-model ...

  9. Vue基础之Vue列表渲染

    列表渲染 我们用 v-for 指令根据一组数组的选项列表进行渲染. v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名 ...

最新文章

  1. 冠军方案分享:ICPR 2020大规模商品图像识别挑战赛冠军解读
  2. apache http server 停止工作_配置nginx,Apache支持pathinfo模式-什么是phpinfo模式
  3. CMD命令硬盘/光驱挂载
  4. 为文档快速插入页眉和页脚
  5. c语言编程算法精选,c语言经典程序算法【DOC精选】.doc
  6. nginx 带宽_谈谈Nginx和LVS各自的优缺点以及使用
  7. python脚本文件格式_Python 基础语法_Python脚本文件结构
  8. 开心开心开心开心开心开心哦哦哦
  9. matlab 0001,2014-11-03号 MatLab初探0001
  10. Windows Terminal美化教程
  11. 华为荣耀9手机通过在Fastboot模式写ramdisk.img来获取ROOT权限 | 华为荣耀9怎么获取ROOT权限 | 华为荣耀9怎么用面具Magisk做ROOT权限
  12. 理财 股票 K线分析
  13. php获取农历日期节日
  14. 一个流和百亿级的表的join
  15. 地块电力监控系统的设计和应用
  16. 决策理论与方法——决策概念与分类
  17. 微信小程序开发之大转盘 仿天猫超市抽奖
  18. 推荐一款实时翻译软件,通过鼠标进行翻译,小巧实用。
  19. 计算机审计实验报告第二章,计算机审计实验报告书.doc
  20. APP测试基本流程以及要点梳理,保证您看了不后悔

热门文章

  1. linux中jstack命令详解,Linux jstack命令详解
  2. 简单易懂!十分钟带你了解:统计学到底是干什么的
  3. 数组中出现__ob__: Observer无法取值
  4. 点菜软件测试工资,大爷点菜的需求管理智慧
  5. 计算机健康教育应用的意义,心理健康教育在信息技术课中的应用
  6. 区块链新闻编辑部成立,看区块链如何助力新闻传播?
  7. 【Excel】Excel如何快速计算出每项所占百分比
  8. MPLS hub and spoke 实验问题
  9. 喷一下MIUI关闭某些手机型号上防闪烁模式的行为
  10. 多张网页的组合形成网站《笔记内容二》