vue常用指令的基本使用
一.vue的简介
1.什么是vue
官方给出的概念:是一套用于构建用户界面的前端框架
2. vue 的特性
vue 框架的特性,主要体现在如下两方面:
(1)数据驱动视图
在使用了 vue 的页面中,vue 会监听数据的变化,从而自动重新渲染页面的结构。示意图如下:
①好处:当页面数据发生变化时,页面会自动重新渲染!
②注意:数据驱动视图是单向的数据绑定。
(2)双向数据绑定
①在填写表单时,双向数据绑定可以辅助开发者在不操作 DOM 的前提下,自动把用户填写的内容同步到数据源中。示意图如下:
②好处:开发者不再需要手动操作 DOM 元素,来获取表单元素最新的值!
3.MVVM
(1)MVVM 是 vue 实现数据驱动视图和双向数据绑定的核心原理。MVVM 指的是 Model、View 和 ViewModel,它把每个 HTML 页面都拆分成了这三个部分,如图所示:
(2)ViewModel 作为 MVVM 的核心,是它把当前页面的数据源(Model)和页面的结构(View)连接在了一起
①当数据源发生变化时,会被 ViewModel 监听到,VM 会根据最新的数据源自动更新页面的结构
②当表单元素的值发生变化时,也会被 VM 监听到,VM 会把变化过后最新的值自动同步到 Model 数据源中
二.vue的基本使用
1.基本使用步骤
①导入 vue.js 的 script 脚本文件
②在页面中声明一个将要被 vue 所控制的 DOM 区域
③创建 vm 实例对象(vue 实例对象)
2.基本代码与 MVVM 的对应关系
三.vue 的指令与过滤器
1.指令的概念
指令(Directives)是 vue 为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。
vue 中的指令按照不同的用途可以分为如下 6 大类:
1.1 内容渲染指令
内容渲染指令用来辅助开发者渲染 DOM 元素的文本内容。常用的内容渲染指令有如下 3 个:
<!-- 1.导入vue的库文件,在window全局就有了Vue这个构造函数 --> <script src="./lib/vue-2.6.12.js"></script> <!-- 2.创建Vue的实例对象 --> <script> // 创建Vue的实例对象 const vm = new Vue({ // el属性是固定的写法,表示当前vm实例要控制页面上的哪个区域,接收的值是一个选择器 el: '#app', // data对象就是要渲染到页面上的数据 data: { username: 'zhangsan' } }) </script>
下面的例子中的数据都来自于上面创建的vue
⚫ v-text
⚫ {{ }}
vue 提供的 {{ }} 语法,专门用来解决 v-text 会覆盖默认文本内容的问题。这种 {{ }} 语法的专业名称是插值表达
式(英文名为:Mustache)。
⚫ v-html
v-text 指令和插值表达式只能渲染纯文本内容。如果要把包含 HTML 标签的字符串渲染为页面的 HTML 元素,
则需要用到 v-html 这个指令:
<p v-html="info"></p> const vm = new Vue({ // el属性是固定的写法,表示当前vm实例要控制页面上的哪个区域,接收的值是一个选择器 el: '#app', // data对象就是要渲染到页面上的数据 data: { info: '<h1 style="color: red">欢迎学习vue</h1>' } })
1.2 属性绑定指令
(1)如果需要为元素的属性动态绑定属性值,则需要用到 v-bind 属性绑定指令。用法示例如下:
(2)属性绑定指令的简写形式
由于 v-bind 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的 : )
(3)在 vue 提供的模板渲染语法中,除了支持绑定简单的数据值之外,还支持 Javascript 表达式的运算,例如:
1.3 事件绑定指令
(1)vue 提供了 v-on 事件绑定指令,用来辅助程序员为 DOM 元素绑定事件监听。语法格式如下:
<div id="app"> <p>count的值是:{{ count }}</p> <button v-on:click="add">+1按钮</button> <div> const vm = new Vue({ el: '#app', data: { count: 0 }, methods: { add() { this.count += 1
注意:原生 DOM 对象有 onclick、oninput、onkeyup 等原生事件,替换为 vue 的事件绑定形式后,
分别为:v-on:click、v-on:input、v-on:keyup
(2)由于 v-on 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的 @ )
(3)事件参数对象
在原生的 DOM 事件绑定中,可以在事件处理函数的形参处,接收事件参数对象 event。同理,在 v-on 指令
(简写为 @ )所绑定的事件处理函数中,同样可以接收到事件参数对象 event,示例代码如下:
(5)绑定事件并传参
在使用 v-on 指令绑定事件时,可以使用 ( ) 进行传参,示例代码如下:
(6)$event
$event
是 vue 提供的特殊变量,用来表示原生的事件参数对象 event。$event
可以解决事件参数对象 event
被覆盖的问题。示例用法如下:
(7)事件修饰符
vue 提供了事件修饰符的概念,来辅助程序员更方便的对事件的触发进行控制。常用的 5 个事件修饰符如下:
注意:上面的onLinkClick为自己定义的方法
vue 提供了 v-model 双向数据绑定指令,用来辅助开发者在不操作 DOM 的前提下,快速获取表单的数据。
注意:表单和Vue中data的数据,任一发生改变都会同步发生变化
1.5 条件渲染指令
1.6 列表渲染指令
(1)vue 提供了 v-for 列表渲染指令,用来辅助开发者基于一个数组来循环渲染一个列表结构。v-for 指令需要使用 item in items 形式的特殊语法,其中:
⚫ items 是待循环的数组
⚫ item 是被循环的每一项
(2)v-for 指令还支持一个可选的第二个参数,即当前项的索引。语法格式为 (item, index) in items,示例代码如下: