一、 Vue 的介绍

1. vue是一个 mvvm 的框架。(面试官经常会问的),angular 是 mvc的框架。

2. vm 是 vum 的实例,这个实例存在计算机内存中,主要干两件大事:

1. 绑定数据

2. dom检测

3. vue 实例 靠 new 关键字实例化 vue 对象,使用 mvvm 模型

1. M modal 数据

2. v view 视图

3. vm 全称viewmodal 就是一个vue实例

4. Vue.js 是封装的一个类,参数是个 options 对象

最常用的属性有哪些:

1. el:”” 指定 vue所操作的 dom 范围,属性值是你获取的节点

2. data 就是 vue 的 model 存放数据的,属性是一个对象或函数(在组件中是函数)

3. methods 是vue 中的事件方法。都存在这里面

二、Vue的指令

v-cloak=””  v-text=””  v-html=””  指令学习

v-cloak=””

1. 使用v-cloak=”” 能够解决 插值表达式闪烁的问题

2. 只要应用 v-cloak 这个属性的元素默认 display:none;,请求过来数据才渲染到我们的页面。

v-text=“”

1. 默认 v-text 没有闪烁问题 <h4 v-text="meg"></h4>

2. v-text 会覆盖元素中原本的内容,但是 插值表达式 只会替换自己的占位      符,不会把整个元素内容清空

<p v-cloak>+++++{{meg}}------</p>
<h4 v-text="meg">======</h4>

v-html=“”

1. v-html=“” 会把标签也一起解析 <div v-html="msg2"></div>

v-bind=‘”

1. v-bind 是 vue 中提供的用于动态属性绑定的指令

2. 简写 v-bind 指令 可以简写为一个 英文的冒号 : 要绑定的属性

3. v-bind 中 可以写合法的js表达式

 <input type="button" v-bind:title="mytitle + '123' " value="按钮" />

v-on=“”

1. v-on 是事件绑定机制

2. 每当我触发 input 的点击事件,会调用 vue 事件的绑定机制,执行这个       show方法,show去methods找这个方法。

<input type="button" value="按钮" v-on:mouseover="show" />

methods: {	//这个 methods属性中定义了当前 vue 实例所有可用方法
show:function () {
alert("123")
} }

3. 简写 加 @ 符号

<input type="button" value="按钮" @click="show" />

var vm = new Vue({
el : "#app", //指定控制的区域
data : { //指定数据
meg : "123",
msg2:"<h1>会亭好美吖!!!</h1>",
mytitle:"这是一个自己定义的title"
},
})

  

v-on 的修饰符:

1. stop 阻止事件冒泡

<div class="inner" @click="divHand">
<input type="button" value="打她" @click.stop="btnHand" />
</div>

什么是冒泡?

当给父子元素绑定同一个事件时,触发子元素身上的事件,执行完毕后也会触发父元素身上的事件,这种传播机制叫事件冒泡

2. prevent 阻止默认行为

 <a href="http://www.baidu.com" @click.prevent="a">百度</a>

什么是事件默认行为?

默认行为是指像点击<a href>标签触发的跳转事件,阻止a无故刷新跳转页面。

  3. capture 添加事件倾听器使用事件捕获模式。

<div class="inner" @click.capture="divHand">
<input type="button" value="打她" @click.stop="btnHand" />
</div>

  

什么是事件捕获?

给父子元素使用 addEventListener() 绑定同一个事件时,当触发子元素身上的事件,先触发父元素身上的事件,然后在传递给子元素 这种传播机制叫事件捕获。

4. self 只当事件在该元素本身(比如不是子元素)触发时触发回调,使用 .self       只有点击当前元素的时候,才会触发事件处理函数

<div class="inner" @click.self="divHand">
<input type="button" value="打她" @click.stop="btnHand" />
</div>

  

  5. once 事件只触发一次

<a href="http://www.baidu.com" @click.prevent.once="a">百度</a>

6. .stop , .self 都是阻止事件冒泡,他俩有什么区别?

1. .self 只阻止自己身上的冒泡行为的触发,并不会真的 阻止冒泡行为

<div class="outer" @click="div1Hand">
阻止了自己身上的冒泡行为了,没有阻止div1上的 self不能当作stop使用只管自己
<div class="inner" @click.self="div2Hand">
<input type="button" value="打她" @click="btnHand" />
</div>
</div>

  

v-for=“”

1. 循环指令 v-for,可循环的东西,数组和对象(item, index) in arr。先元素      在节点。

注意:v-for循环的时候 key属性只能使用number或string。

注意:key 在使用的时候, 必须使用 v-bind 属性绑定的形式,指定key的   值。Key是唯一的。

v-if 和 v-show

v-if 和 v-show的特点以及区别:

1. v-if 的特点 每次会从新删除或创建元素

<h3 v-if="flag">这是用 v-if 控制的元素</h3>

2. v-show 的特点 每次不会从新进行 dom 的删除和创建操作,只是切换元      素的 display:none;样式

<h3 v-show="flag">这是用 v-show 控制的元素</h3>

什么时间使用 v-if 和 v-show:

v-if 有较高的切换 切换性能消耗

v-show 有较高的初始渲染消耗

如果 元素 涉及到频繁切换 最好不要使用 v-if,而是推荐使用 v-show。

如果 元素 可能永远也不会被显示出来 则推荐 使用 v-if

data:{

flag:true

},

V-model 和 双向数据绑定

1. v-bind 只能实现数据的单项绑定,从msg自动绑定到 v-bind 中去,无      法实现数据的双向绑定。

2. 使用 v-model 指令可以实现数据表单元素和 model中的数据的双向数      据绑定,v-model 除了能实现数据从 m 渲染到 v-model中去,也能实现       v-model里面数据改变同步到 msg 里去。

<input type="text" name="" id="" v-model:value="msg" style="width:100% ;" />

注意:

1. v-model 只能运用在表单元素中

2. input(radio,text,address,email)

作者:晋飞翔

手机号(微信同步):17812718961

希望本篇文章 能给正在学习 前端的朋友 或 以及工作的朋友 带来收获 不喜勿喷 如有建议 多多提议 谢谢!

vue学习指南:第二篇(详细Vue基础) - Vue的指令的更多相关文章

  1. Spring学习指南-第二章-Spring框架基础(完)

    第二章 Spring框架基础 面向接口编程的设计方法 ​ 在上一章中,我们看到了一个依赖于其他类的POJO类包含了对其依赖项的具体类的引用.例如,FixedDepositController 类包含 ...

  2. Vue学习【第二篇】:ES6简单介绍

    ECMAScript 6简介 ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了.它的目标,是使得 JavaScript ...

  3. SQL学习指南第二篇

    使用集合 union操作符(组合查询) 多数 SQL 查询只包含从一个或多个表中返回数据的单条 SELECT 语句.但是,SQL 也允许执行多个查询(多条 SELECT 语句),并将结果作为一个查询结 ...

  4. Java工程师学习指南 完结篇

    Java工程师学习指南 完结篇 先声明一点,文章里面不会详细到每一步怎么操作,只会提供大致的思路和方向,给大家以启发,如果真的要一步一步指导操作的话,那至少需要一本书的厚度啦. 因为笔者还只是一名在校 ...

  5. Java工程师学习指南 中级篇

    Java工程师学习指南 中级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我写的文章都是站 ...

  6. Java工程师学习指南 初级篇

    Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  7. Java工程师学习指南 入门篇

    Java工程师学习指南 入门篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...

  8. RabbitMQ学习总结 第二篇:快速入门HelloWorld

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  9. 学习KnockOut第二篇之Counter

                                                                        学习KnockOut第二篇之Counter        欲看此 ...

  10. JavaWeb学习总结第二篇--第一个JavaWeb程序

    JavaWeb学习总结第二篇—第一个JavaWeb程序 最近我在学院工作室学习并加入到研究生的项目中,在学长学姐的带领下,进入项目实践中,为该项目实现一个框架(用已有框架进行改写).于是我在这里记录下 ...

随机推荐

  1. 为什么 Redis 为什么如此受欢迎

    现在大多数开发人员都会听说过 Redis.Redis 是目前市场上最好的开源内存 NoSQL 数据库之一.它为前端以及后端服务(如键值查找,队列,哈希等)提供了非常多的帮助. 一.什么是 Redis? ...

  2. 3.Java基础_Java变量

    /* 变量定义格式 数据类型 变量名=变量值 基本数据类型: byte,short,int,long,float,double,char,boolean 变量的使用: 取值格式: 变量名 修改值格式: ...

  3. Java学习路线|转至CodeSheep

    Java学习路线 基础知识 . 基本语法 基本网络知识:tcp/ip http/https 工具方面 . 操作系统:linux (CentOS\Ubuntu\Fe..) 代码管理:svn/git 持续 ...

  4. 树型DP(2)

    声明 https://blog.csdn.net/no1_terminator/article/details/77824790 参考课件和讲授来自Accelerator 找树的直径 树的直径定义为一 ...

  5. 判断101-200之间有多少个素数,并输出所有素数,方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

    <?php$sum=0;for($i=101;$i<=200;$i++){    for($j=2;$j<=sqrt($i);$j++)    {       if($i%$j==0 ...

  6. 微信小程序之结构目录、视图层、双线程模型、生命周期、事件传递冒泡、组件、request、登录授权及支付

    结构目录与配置介绍 视图层与基础语法 双线程模型 生命周期 事件.传递和冒泡 组件.自定义组件.组件事件传递页面 Request.路由跳转.本地存储 登录(后端实现) | 授权(后端实现) 支付(后端 ...

  7. Nginx Rewrite域名及资源重定向

    一.正则匹配     1.匹配规则         ^$  标识符匹配后面跟-一个字符串.匹配字符串后将停止对后续的正则表达式进行匹配,如location ^~/images/,在匹配了/images ...

  8. ClassLoader.getSystemResourceAsStream("a.txt")获取不到资源文件

    一.解决方案 换成XXX.class.getClassLoader().getResourceAsStream("a.txt")即可. 二.场景复现 src/main/resour ...

  9. QMap::remove操作,并不会调用值的析构,跟QTreeWidget同类,需要主动去释放

    void test_MapRemvoe() { DBOperator * painter = new DBOperator; QMap<int , DBOperator*> map; ma ...

  10. centos配置ADSL拨号 配置阿里云的yum源

    如果系统yum源有问题可以更改yum源配置阿里云的yum源1)下载repo文件 wget http://mirrors.aliyun.com/repo/Centos-7.repo(没有 wget命令可 ...