Vue 学习笔记 —— 模板语法 (一)(1)

本文详细介绍了Vue中的关键模板指令,包括v-text、v-html、v-pre、v-once、v-model、v-on以及v-bind等,涵盖了数据绑定、事件处理、条件渲染和循环遍历等内容,帮助读者理解Vue的MVVM架构和高效开发实践。
摘要由CSDN通过智能技术生成

{{msg}}

三、数据绑定的指令

========================================================================

3.1 v-text (我就是 innerText)

  • 填充纯文本内容,相当于 js 中的 innerText

  • 相比插值表达式更简单

vue 模板指令学习

{{msg}}

在这里插入图片描述

3.2 v-html (会 innerHTML 吗)

  • 填充 HTML 片段,相当于 js 中的 innerHTML

  • 但是存在安全性问题,只能使用本站的数据作为数据源,第三方数据可以

vue 模板指令学习

可以看到 html 的部分会被转义

在这里插入图片描述

3.3 v-pre 跳过预编译

  • 填充原始信息

  • 显示原始信息

  • 跳过编译过程

{{msg}}

显示原始字符串

在这里插入图片描述

3.4 v-once (一次编译,不在变换)

v-once 只编译一次:显示内容之后不在具有响应式功能

(当你显示的信息后续不会在修改了,你就可以用 v-once,提高性能)

{{msg}}

{{info}}

在这里插入图片描述

3.5 v-model 双向数据绑定

使用 v-model 进行双向绑定,那么数据的变化是相互的,使用时只需给它绑定一个值即可,而且数据的双向绑定常常用于表单。这里就要引出 vue 搭建项目的一个设计思想了,即 MVVM。

  1. M(model)

  2. V(view)

  3. VM(View-Model)

双向数据绑定是基于分而治之的思想来做的

  • 视图 ——> 模型 事件监听

  • 模型 ——> 视图 数据绑定

msg:{{msg}}

数据是相互变化的

在这里插入图片描述

四、事件绑定 v-on使用

============================================================================

4.1 简单事件处理

使用 v-on 我们可以绑定很多的事件,比如:click, blur 等等,都是我们学 js 时常见的事件。我们下面就定义了一个简单的 click 事件,每当点击一下,数字就进行加一处理

num: {{num}}

4.2 使用函数处理事件

和 js 基本一样,我们指定一个函数专门处理某个特定事件,然而这个事件也要专门定义在 vue 中的 methods 中,效果同上

num: {{num}}

<input type=“button” @click=“handle()” value=“点击2”/>

<input type=“button” @click=“handle” value=“点击3” />

4.3 事件函数传参

事件函数传参

  1. 如果事件直接绑定函数名称,默认传递事件对象($event)作为第一个参数

  2. 如果事件绑定函数调用,那么事件对象必须作为最后一个参数显示传递,并且事件对象的名称是必须是 $event

num: {{num}}

事件函数传参

<button @click=“say(‘hi’,$event)”>SayHi

在这里插入图片描述

4.4 事件修饰符

简要了解一下 事件冒泡 与 阻止冒泡就懂了

事件修饰符

五、属性绑定 v-bind 指令

===============================================================================

5.1 v-bind 使用

v-bind 的作用

动态处理属性的值,下面的实例中,我们给 href 绑定了一个 url 值,这样他就可以跳转到指定的路径了。

跳转

切换

跳转1

5.2 v-bind 就是 v-model ?

我们深入 v-model 的源码可以发现, v-model 之所以能够实现双向绑定是因为它的底层使用 属性绑定实现的。

v-model 底层原理: 使用输入域中最新的数据覆盖原来的数据

5.3 v-bind 绑定样式

样式绑定由两种形式

  1. 使用对象的形式

  2. 使用数组的形式

测试样式

切换

测试样式二

切换

在这里插入图片描述

六、分支与循环 v-if v-for

=================================================================================

6.1 分支结构

6.1.1 使用 v-if
  1. v-if

  2. v-else

  3. v-else-if

只会渲染一个 div

v-if 控制元素是否渲染到页面

在判断结构中加入表达式即可完成数据的筛选

优秀

良好

一般

太差了

结果肯定是打印最差的

在这里插入图片描述

6.1.2 使用 v-show

. v-show

控制元素是否显(已经渲染到页面上了)

会在 dom 中显示出来,display 的值被设置为了 none

使用场景:

频繁显示隐藏一个元素使用 v-show(因为频繁的操作 DOM 会造成极大的消耗

测试 flag

我们可以看到 dom 时存在的。

在这里插入图片描述

6.2 循环结构 v-for

使用 v-for 可以轻松遍历元素,下面看一看 v-for 的简单使用,我们可以遍历值的同时,把下表也能遍历出来

数字列表
    • {{item}} -- {{index}}
      • {{item.id}}

        {{item.title}}

        {{value + ‘—’ + key + ‘—’ + index}}

      • 9
        点赞
      • 20
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值