当前位置: 首页 > news >正文

【Vue】二:Vue核心处理---模板语法

文章目录

  • 1.模板语法---插值
  • 2.模板语法---指令语法
    • 2.1v-once
    • 2.2 v-bind
    • 2.3 v-model
    • 2.4 v-on
  • 3.MVVM
  • 4.事件回调函数中的this

1.模板语法—插值

{{可以写什么}}
(1)在data中声明的变量,函数
(2)常量
(3)合法的javascript表达式
(4)模板表达式都被放在沙盒中,只能访问全局变量的一个白名单,如Math, Date

2.模板语法—指令语法

在这里插入图片描述
Vue中所有指令都是以HTML标签当中的属性存在的。

(1)指令的位置

<HTML标签 指令的位置>{{插值语法的位置}}</HTML标签>
<HTML标签 v-标签名:参数="表达式">{{xxx}}</HTML标签>

(2)指令的语法规则
v-标签名:参数=“表达式”
其中表达式,之前在插值语法中{{这里可以写什么}},那么指令当中的表达式就可以写什么。

(3)注意
有的指令,不需要参数,也不需要表达式:v-once
有的指令,不需要参数,但是需要表达式:v-if=“表达式”
有的指令,即需要参数,又需要表达式:v-bind:参数=“表达式”

2.1v-once

只渲染元素和组件一次。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。

  • v-if = “表达式”
    表达式的结果是一个布尔值,true,则这个指令所在标签,会被渲染到浏览器当中,false,则这个指令所在标签,不会渲染到浏览器当中。

2.2 v-bind

作用:可以让HTML标签的某个属性的值产生动态的效果。

语法格式:<HTML标签 v-bind:参数=“表达式”></HTML标签>

编译原理:
编译前<HTML标签 v-bind:参数=“表达式”></HTML标签>
编译后<HTML标签 参数=“表达式执行的结果”></HTML标签>

注意:
编译的时候,参数名会被编译为HTML的属性名。
表达式会关联data。

简写:<HTML标签 :参数=“表达式”></HTML标签>

区别插值:
凡是标签体当中的内容想要改变,则使用插值语法,凡是标签中的属性想要改变,则使用指令语法

2.3 v-model

在这里插入图片描述

与v-bind的区别:
v-bind是单向绑定 (数据–>视图)
v-model是双向绑定 (数据<–>视图)

简写:<HTML标签 v-model:value="表达式"></HTML标签>
简写为:<HTML标签 v-model="表达式"></HTML标签>

2.4 v-on

  • 语法格式:
    <标签 v-on: 事件名="表达式">

  • 表达式的内容
    常量 JS表达式 Vue实例所管理的

  • 事件关联回调函数
    当所有事件所关联的回调函数,需要在Vue实例的配置项methods中定义。
    methods是一个对象:{},在这个methods对象中可以定义多个回调函数。

  • 简写

v-on:click                 @click
v-on:keydown               @keydown
v-on:mouserover            @mouserover
  • 绑定的回调函数,如果函数调用时不需要传递任何参数,则()可以省略。
  • Vue在调用回调函数的时候,会自动给回调函数传递一个对象,这个对象是:当前发生的事件对象。
  • 在绑定回调函数的时候,可以在回调函数的参数上使用$event占位符,Vue框架看到这个$event占位符,会自动将当前事件以对象的形式传递过去。

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

3.MVVM

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

4.事件回调函数中的this

在这里插入图片描述
在这里插入图片描述
上例中回调函数中的this指向的是Vue实例。
但是上例中的函数不能写成箭头函数,如果写成箭头函数,则this指向的是window。

http://www.lryc.cn/news/89552.html

相关文章:

  • windows环境下nginx+ftp服务器搭建简易文件服务器
  • 【数据结构与算法】图的概述(内含源码)
  • SAP MM 根据采购订单反查采购申请
  • C语言程序设计题/C语言计算机二级考前押题版
  • Canonical标签在SEO中重要作用
  • 【Linux之进程间通信】06.Linux进程通信 - 共享内存
  • oracle安装
  • CSS样式的三种引入方式及优先级
  • Linux第二天
  • 微服务和领域驱动
  • Redis如何做到内存高效利用?过期key删除术解析!
  • EFDC模型教程
  • URLConnection(三)
  • 针对KF状态估计的电力系统虚假数据注入攻击研究(Matlab代码实现)
  • 2023-05-25 LeetCode每日一题(差值数组不同的字符串)
  • MI小米验厂知识点
  • 损失函数——交叉熵损失(Cross-entropy loss)
  • 电商ERP接口erp进销存接口
  • leetcode 922. 按奇偶排序数组 II
  • Unity四叉树地图
  • 【unity插件】OpenFracture插件实现物体破裂和切割
  • Spring Security实现登录
  • 小狐狸ChatGPT付费创作系统1.9.7独立版 + H5端 + 小程序前端增加AI绘画+GPT4接口
  • 双目测距联合YOLOv8 项目总结
  • Windows提权:利用MSSQL数据库,Oracle数据库
  • linux常见的二十多个指令
  • 内蒙古自治区住房和城乡建设分析及解决方案
  • JavaEE进阶5/25(属性注入)
  • 【Java学习记录-4】相关名词和概念记录(持续更新)
  • 《程序员面试金典(第6版)》面试题 16.25. LRU 缓存(自定义双向链表,list库函数,哈希映射)