【Vue2.0】day2

一、vue简介

1 什么是vue

概念: vue是一套用于构建用户界面的前端框架
构建用户界面: 用vue往html页面中填充数据,十分方便
框架:

  1. 框架是一套现成的解决方案,程序员只能遵守框架的规范,去编写自己的业务。
  2. 要学习vue,就是在学习vue框架中中规定的用法!
  3. vue的指令、组件(对UI结构的复用)、路由、Vuex、vue组件库

2 vue的特性

  1. 数据驱动视图

    • 数据的变化会驱动视图自动更新
    • 好处:程序员只需要把数据维护,页面结构会被 vue 自动渲染出来!
      在这里插入图片描述
  2. 双向数据绑定

    • 在网页中,form表单负责采集数据,Ajax负责提交数据
    • js 数据的变化,会自动被渲染到页面上
    • 页面上表单采集的数据发生变化时,会被 vue 自动获取到,并更新到 js 数据中
      在这里插入图片描述

3 MVVM

在这里插入图片描述
注意:数据驱动视图双向数据绑定的底层原理是 MVVM。(Model数据源,View视图,ViewModel就是vue的实例)


二、vue的基本使用

1 基本使用步骤

在这里插入图片描述

2 基本代码与 MVVM 的对应关系

在这里插入图片描述

3 vue的指令和过滤器

3.1 内容渲染指令
  1. v-text 指令的缺点:会覆盖元素内部原有的内容!
  2. {{ }} 插值表达式:在实际开发中用的最多,只是内容的占位符,不会覆盖原有的内容!
  3. v-html 指令的作用:可以把带有标签的字符串,渲染成真正的 HTML 内容!
3.2 属性绑定指令

注意: 插值表达式只能用在元素的内容节点中,不能用在元素的属性节点中!

  • 在 vue 中,可以使用 v-bind: 指令,为元素的属性动态绑定值;
  • 简写是英文的 :
  • 在使用 v-bind 属性绑定期间,如果绑定内容需要进行动态拼接,则字符串的外面应该包裹单引号,例如:
      <div :title="'box' + index">这是一个 div</div>

在这里插入图片描述

3.3 事件绑定指令
  1. v-on: 简写是@
  2. 通过 v-on 绑定的事件处理函数,需要在 methods 节点中进行声明
  3. 语法格式为:
<button @click="add"></button>

methods: {
   add() {
			// 如果在方法中要修改 data 中的数据,可以通过 this 访问到
			this.count += 1
   }
}
  1. 传参:
    在这里插入图片描述
$event

$event 的应用场景:如果默认的事件对象 e 被覆盖了,则可以手动传递一个 $event。例如:

<button @click="add(3, $event)"></button>
methods: {
        add(e, n) {
          this.count += n
          console.log(e)
          // 判断 this.count 的值是否为偶数
          if (this.count % 2 === 0) {
            // 偶数
            e.target.style.backgroundColor = 'red'
          } else {
            // 奇数
            e.target.style.backgroundColor = ''
          }
        }
      },
3.4 事件修饰符

在这里插入图片描述

3.5 按键修饰符

在这里插入图片描述

3.6 双向绑定指令
3.6.1v-model指令介绍

vue 提供了v-model双向数据绑定指令 ,用来辅助开发者在不操作dom的前提下,快速获取表单数据。
在这里插入图片描述
注意: 只有表单元素才能够使用v-model指令,因为这些标签能够与用户产生交互并显示内容,才有双向数据绑定的意义。(即那些有value属性的标签)

3.6.2 v-model指令的修饰符

在这里插入图片描述

3.7 条件渲染指令
3.7.1 v-if,v-show介绍

在这里插入图片描述

3.7.2 v-if,v-show的区别
  1. v-show 的原理是:动态为元素添加或移除 display: none 样式,来实现元素的显示和隐藏
    • 如果要频繁的切换元素的显示状态,用v-show性能会更好
  2. v-if 的原理是:每次动态创建或移除元素,实现元素的显示和隐藏
    • 如果刚进入页面的时候,某些元素默认不需要被展示,而且后期这个元素很可能也不需要被展示出来,此时 v-if 性能更好

而在实际开发中,绝大多数情况,不用考虑性能问题,直接使用 v-if 就好了!!!

3.7.3 v-else

在这里插入图片描述

3.7.4 v-else-if

在这里插入图片描述

3.8 列表渲染指令
3.8.1 v-for在这里插入图片描述
3.8.2 v-for中的索引

在这里插入图片描述

3.8.3 使用key维护列表的状态

在这里插入图片描述

3.8.4 key的注意事项

在这里插入图片描述

3.9 过滤器(vue3中弃用)
过滤器介绍

在这里插入图片描述
在这里插入图片描述

私有过滤器和全局过滤器

在这里插入图片描述
过滤器的注意点:

  1. 要定义到 filters 节点下,本质是一个函数
  2. 在过滤器函数中,一定要有 return
  3. 在过滤器的形参中,可以获取到“管道符”前面待处理的那个值
  4. 如果全局过滤器和私有过滤器名字一致,此时按照 “就近原则”,调用的是”私有过滤器“
调用多个过滤器

在这里插入图片描述

过滤器传参

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值