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

Vue2之模板语法

文章目录

  • 1.模板语法
    • 1.1 插值语法{{}}可以写什么
    • 1.2 指令语法
      • 1.2.1 指令概述
      • 1.2.2 v-bind指令
      • 1.2.3 v-model指令

1.模板语法

1.1 插值语法{{}}可以写什么

(1)在data中声明的
(2)常量
(3)合法的JavaScript表达式
(4)模板表达式都被放在沙盒中,只能访问全局变量的一个白名单,如 Math 和 Date

<body><div id="app"><!-- data中声明的 --><div>{{msg}}</div><div>{{age}}</div><!-- 常量 --><div>{{1313}}</div><!-- 合法的JavaScript表达式 --><div>{{1+1}}</div><!-- 模板表达式都被放在沙盒中,只能访问全局变量的一个白名单,如 Math 和 Date --><h1>{{Date.now()}}</h1></div><script>// 创建vue实例const myVue = new Vue({data: {age: 28,msg: 'agvc'},el: '#app'})// myVue.$mount('#app')</script>
</body>

1.2 指令语法

1.2.1 指令概述

(1)Vue框架中的所有指令的名字都以”v-“开始。指令的职责是,当表达式的值改变时,将其产生的连带影响,响应的作用于DOM
(2)Vue框架中的指令都是以HTML标签的属性形式存在的,指令对于浏览器是无法看懂的,需要先让Vue框架进行编译,编译之后浏览器才可以看懂。

<span 指令写在这里></span>

(3)指令的语法规则

<HTML标签 v-指令名:参数="表达式"></HTML标签>

①表达式:在插值语法在{{}}可以写的,在指令表达式都可以写(指令中不用加{{}})
②不是所有的指令都有参数和表达式,有的指令不需要参数也不需要表达式:如v-once。
v-once:只渲染元素一次,随后的重新渲染,元素及其所有的子元素将被视为静态内容并跳过,可以用于优化性能。
(4)什么时候使用插值语法,什么时候使用指令?
①凡是标签体当中的内容想要动态,需要使用插值语法
②想让HTML标签的属性动态,需要使用指令语法

1.2.2 v-bind指令

(1)v-bind指令是干嘛的?
它可以让HTML标签的某个属性的值产生动态的效果
(2)v-bind指令的语法格式:

<HTML标签 v-bind:参数="表达式"></HTML标签>

(3)v-bind指令的编译原理
①编译前:<HTML标签 v-bind:参数="表达式"></HTML标签>
②编译后:<HTML标签 参数="表达式"></HTML标签>
③注意两项:
a.在编译的时候v-bind后面的”参数名“会被编译为HTML标签的”属性名“
b.表达式会关联data,当data发生改变之后,表达式的执行结果就会发生变化。连带的就会产生动态效果
(3)由于 v-bind 指令在开发中使用频率非常高,因此,vue 官方为其提供了简写形式(简写为英文的 : )

1.2.3 v-model指令

v-bind和v-model的区别和联系
(1)v-bind和v-model这两个指令都可以完成数据绑定
(2)v-bind是单向数据绑定:data ==>视图;v-model是双向数据绑定:data <==> 视图
(3)v-bind可以使用在任何HTML标签当中;v-model只能使用在表单元素上,例如:input标签、select标签。v-model有这个限制是因为只有表单类的元素才能给用户提供交互输入的界面
(4)v-bind和v-model都有简写方式:
v-bind:参数="表达式" 简写为 :参数="表达式"
v-model:value="表达式" 简写为 v-model="表达式"

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

相关文章:

  • java基础练习题
  • unity中通过实现底层接口实现非按钮(图片)的事件监听
  • 重庆耶非凡科技有限公司的选品师项目加盟靠谱吗?
  • 《青少年编程与数学》课程方案:4、课程策略
  • 用爬虫实现---模拟填志愿
  • vscode Run Code输出出现中文乱码情况问题解决方案
  • 代码随想录训练营Day30
  • Swift 序列(Sequence)排序面面俱到 - 从过去到现在(二)
  • STM32F103C8T6基于HAL库移植uC/OS-III
  • 微服务学习Day9-分布式事务Seata
  • vue用vite配置代理解决跨域问题(target、rewrite和changeOrigin的使用场景)
  • 为什么PPT录制没有声音 电脑ppt录屏没有声音怎么办
  • JDBC学习笔记(三)高级篇
  • c++编译器在什么情况下会提供类的默认构造函数等,与析构函数
  • SpringBoot3整合Mybatis-Plus3.5.5出现的问题
  • 服务器数据恢复—强制上线raid5阵列离线硬盘导致raid不可用的数据恢复案例
  • 初入阿里云,上手走一波
  • [C++] 小游戏 斗破苍穹 2.2.1至2.11.5所有版本(中) zty出品
  • Javaweb---HTTPS
  • [已解决]ESP32-C3上传程序成功但没有反应的问题
  • 使用 OCLint进行静态代码分析:一个完整的配置示例
  • 【Linux】线程的互斥
  • electron如何让你窗口总是显示在最前面【mac解决全屏窗口alwaysOnTop参数不起作用】
  • XR和Steam VR项目合并问题
  • uni-app:利用Vue的原型对象Vue.prototype设置全局方法及其引用
  • django接入djangorestframework-simplejwt步骤
  • 前端工程化工具系列(十)—— Browserslist:浏览器兼容性配置工具
  • 双列集合底层源码
  • 【Ardiuno】实验使用ESP32连接Wifi(图文)
  • 优化家庭网络,路由器无线中继配置全攻略(中兴E1600无线中继设置/如何解决没有预埋有线网络接口的问题/使用闲置路由实现WIFI扩展)