2.2Vue2的模板语法

Vue常用静态模板 【代码】Vue常用静态模板。 阅读详情

2.1.1、插值语法

1、代码示例
  <body>
    <!-- 准备容器 -->
    <div id="app">
      <!-- 在data中声明的 -->
      <!--1、 data中声明的变量 -->
      <h1>{{msg}}</h1>
      <h1>{{sayHello()}}</h1>
      <!-- 不在data中的变量不可以 -->
      <!-- <h1>{{i}}</h1> -->
      <!-- <h1>{{sum()}}</h1> -->

      <!-- 2、常量 -->
      <h1>{{100}}</h1>
      <h1>{{'hello vue!'}}</h1>
      <h1>{{3.14}}</h1>

      <!--3、 javascript表达式 -->
      <h1>{{1 + 1}}</h1>
      <h1>{{msg + 1}}</h1>
      <h1>{{'msg' + 1}}</h1>
      <h1>{{gender ? '男' : '女'}}</h1>
      <h1>{{number + 1}}</h1>
      <h1>{{msg.split('').reverse().join('')}}</h1>

      <!-- 错误的:不是表达式,这是语句。 -->
      <!-- <h1>{{var i = 100}}</h1> -->

      <!-- 4、在白名单里面的 -->
      <h1>{{Date}}</h1>
      <h1>{{Date.now()}}</h1>
      <h1>{{Math}}</h1>
      <h1>{{Math.ceil(3.14)}}</h1>
    </div>

    <!-- vue程序 -->
    <script>
      // 用户自定义的一个全局变量
      var i = 100;
      // 用户自定义的一个全局函数
      function sum() {
        console.log("sum.....");
      }

      new Vue({
        el: "#app",
        data: {
          number: 1,
          gender: true,
          msg: "abcdef", // msg是在data中声明的变量
          sayHello: function () {
            console.log("hello vue!");
          },
        },
      });
    </script>
  </body>
2、代码总结

      {{可以写什么}}

  1. data中声明的变量,函数,数组,等都可以
  2. 常量
  3. 只要是合法的javascript表达式都可以,注意js语句不行,赋值语句,if,for等
  4. 模版表达式都被放在沙盒中,只能访问全局变量的一个白名单

         如:Math和Date

        'Infinity,undefined,NaN,isFinite,isNaN,'

        'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,'

        'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,'

        'require'

2.1.2、指令语法

1. 什么是指令?有什么作用?

    指令的职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

2. Vue框架中的所有指令的名字都以“v-”开始。

3. 插值是写在标签体当中的,那么指令写在哪里呢?

Vue框架中所有的指令都是以HTML标签的属性形式存在的,

例如:<span 指令是写在这里的>{{这里是插值语法的位置}}</span>

注意:虽然指令是写在标签的属性位置上,但是这个指令浏览器是无法直接看懂的。是需要先让Vue框架进行编译的,编译之后的内容浏览器是可以看懂的。

4. 指令的语法规则:

完整的语法格式:

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

javascript表达式:

之前在插值语法中{{这里可以写什么}},那么指令中的表达式就可以写什么,当然{{}}不需要写

不是所有的指令都有参数和表达式:

有的指令,不需要参数,也不需要表达式,例如:v-once

有的指令,不需要参数,但是需要表达式,例如:v-if="表达式"

有的指令,既需要参数,又需要表达式,例如:v-bind:参数="表达式"

5. v-once 指令

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

6. v-if="表达式" 指令

作用:表达式的执行结果需要是一个布尔类型的数据:true或者false

true:这个指令所在的标签,会被渲染到浏览器当中。

false:这个指令所在的标签,不会被渲染到浏览器当中。

 <body>
    <!-- 准备一个容器 -->
    <div id="app">
      <h1>{{msg}}</h1>
      <!-- 只会渲染一次,msg更改数据,也不会再次渲染 -->
      <h1 v-once>{{msg}}</h1>
      <h1 v-if="a > b">v-if测试:你看我出不出现</h1>
    </div>
    <!-- vue程序 -->
    <script>
      new Vue({
        el: "#app",
        data: {
          msg: "Hello Vue!",
          a: 10,
          b: 11,
        },
      });
    </script>
  </body>

2.1.3、v-bind指令详解

1. 这个指令是干啥的?

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

2. v-bind指令的语法格式:

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

3. v-bind指令的编译原理?

编译前:

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

编译后:

<HTML标签 参数="表达式的执行结果"></HTML标签>

注意两项:

第一:在编译的时候v-bind后面的“参数名”会被编译为HTML标签的“属性名”

第二:表达式会关联data,当data发生改变之后,表达式的执行结果就会发生变化。所以,连带的就会产生动态效果。

4. v-bind因为很常用,所以Vue框架对该指令提供了一种简写方式:

只是针对v-bind提供了以下简写方式:

<img :src="imgPath">

5. 什么时候使用插值语法?什么时候使用指令?

凡是标签体当中的内容要想动态,需要使用插值语法。

只要向让HTML标签的属性动态,需要使用指令语法。

  <body>
    <!-- 准备一个容器 -->
    <div id="app">
      <!-- 注意:以下代码中 msg 是变量名。 -->
      <!-- 注意:原则上v-bind指令后面的这个参数名可以随便写。 -->
      <!-- 虽然可以随便写,但大部分情况下,这个参数名还是需要写成该HTML标签支持的属性名。这样才会有意义。 -->
      <span v-bind:xyz="msg"></span>

      <!-- 这个表达式带有单引号,这个'msg'就不是变量了,是常量。 -->
      <span v-bind:xyz="'msg'"></span>

      <!-- v-bind实战 -->
      <img src="../img/1.jpg" /> <br />
      <img v-bind:src="imgPath" /> <br />

      <!-- v-bind简写形式 -->
      <img :src="imgPath" /> <br />

      <!-- 这是一个普通的文本框 -->
      <input type="text" name="username" value="zhangsan" /> <br />
      <!-- 以下文本框可以让value这个数据变成动态的:这个就是典型的动态数据绑定。 -->
      <input type="text" name="username" :value="username" /> <br />

      <!-- 使用v-bind也可以让超链接的地址动态 -->
      <a href="https://www.baidu.com">百度1</a> <br />
      <a :href="url">百度2</a> <br />

      <!-- 不能采用以下写法,会报错-->
      <!-- <a href="{{url}}">百度3</a>  -->
    </div>
    <!-- vue程序 -->
    <script>
      new Vue({
        el: "#app",
        data: {
          msg: "Hello Vue!",
          imgPath: "../img/1.jpg",
          username: "章三",
          url: "https://www.baidu.com",
        },
      });
    </script>
  </body>

2.1.4、 v-model详解

1. v-bind和v-model这两个指令都可以完成数据绑定。

2. v-bind是单向数据绑定。

data ===> 视图

3. v-model是双向数据绑定。

data <===> 视图

4. v-bind可以使用在任何HTML标签当中。

v-model只能使用在表单类元素上,例如:input标签、select标签、textarea标签。

为什么v-model的使用会有这个限制呢?

因为表单类的元素才能给用户提供交互输入的界面。v-model指令通常也是用在value属性上面的。

5. v-bind和v-model都有简写方式:

v-bind简写方式:

v-bind:参数="表达式" 简写为 :参数="表达式"

v-model简写方式:

v-model:value="表达式" 简写为 v-model="表达式"

<body>
    <!-- 准备一个容器 -->
    <div id="app">
      <!-- 完整写法 -->
      v-bind指令:<input type="text" v-bind:value="name1" /><br />
      v-model指令:<input type="text" v-model:value="name2" /><br />

      <!-- 报错了,v-model不能使用在这种元素上。 -->
      <!-- <a v-model:href="url">百度</a> -->

      <!-- 简写 -->
      v-bind指令:<input type="text" :value="name1" /><br />
      v-model指令:<input type="text" v-model="name2" /><br />

       <!-- 联动改变 -->
      v-bind消息1:<input type="text" :value="msg" /><br />
      v-model消息2:<input type="text" v-model="msg" /><br />
    </div>

    <!-- vue程序 -->
    <script>
      new Vue({
        el: "#app",
        data: {
          name1: "zhangsan",
          name2: "wangwu",
          url: "https://www.baidu.com",
          msg: "Hello Vue!",
        },
      });
    </script>
  </body>

2.15、用户片段

安装插件:JavaScript (ES6) code snippets

为JavaScript、TypeScript、HTML、React和Vue提供了ES6的语法支持。

第一步:

第二步:

第三步:配置片段

html.json中设置html环境下的代码片段

// 配置信息
"Print to console": {
  // 给片段设置的简写
  "prefix": "log",
  // 配置片段
  "body": [
    // ,分割开每行代码  $1 鼠标聚焦的地方 
  "console.log('$1');",
  "$2"
  ],
  // 片段描述信息(可删除)
  "description": "Log output to console"
}

具体配置如下:

{
    "h5 template": {
        "prefix": "vv", // 对应的是使用这个模板的快捷键
        "body": [
            "<!DOCTYPE html>",
            "<html lang=\"en\">",
            "<head>",
            "\t<meta charset=\"UTF-8\">",
            "\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">",
            "\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">",
            "\t<title>Document</title>",
            "\t<script src='https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js'></script>",
            "</head>\n",
            "<body>",
            "\t<div id =\"root\"> </div>\n",
            "\t<script>",
            "\tVue.config.productionTip = false//阻止vue 在启动时生成生产提示",
            "\t var vm = new Vue({",
            "\t\tel: '#root',",
            "\t\tdata() {return{}},",
            "\t\tmethods: {}",
            "\t });",
            "\t</script>",
            "</body>\n",
            "</html>"
        ],
        "description": "vue学习模版" // 模板的描述
    }
}

在javascript.json 中配置js的片段

    // 配置信息
    "create vue instance": {
        // 给片段设置的简写
        "prefix": "v1",
        // 配置片段
        "body": [
            "\t var vm = new Vue({",
            "\t\tel: '#root',",
            "\t\tdata: {'$1'},",
            "\t });",
        ],
        // 片段描述信息(可删除)
        "description": "vm"
    },
Vue2(6)模板语法学习笔记 Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。Vue 的模板都是合法的 HTML,因此可以被遵循规范的浏览器和 HTML 解析器解析。在底层实现上,Vue 将模板编译成虚拟 DOM 渲染函数,并结合响应系统,智能地计算出最少需要重新渲染的组件,将 DOM 操作次数减到最少。Vue2 的模板语法非常强大且灵活,允许开发者以声明式的方式将 DOM 绑定到 Vue 实例的数据上。 阅读详情

相关推荐

VsCode Vue 快捷键生成代码模板(Vue2、Vue3)

VsCode一些相关设置 然后打开vue.json 打开之后将我下面的代码拷贝过去就可以(可以自定义修改) { "Print to v2": { "prefix": "vue2", "body": [ "<template>", " <div>\n", " </div>", "</template>", "<script>", ...

专注于技术,分享实战经验,探索技术边界,用代码构建更美的数字世界。 1万+

【VUE】vue后台常用模板

推荐几个基于vue2.0开发的后台管理好用的模板,让需要的人快速获取合适的模板

LuviaWu的博客 9万+

Vue2 入门-第七篇:Vue2 模板语法进阶

过滤器概念:过滤器是 Vue2 提供的一种功能,用于对数据进行格式化处理。它可以在模板插值和v-bind表达式中使用,也可以在计算属性中使用,将数据按照特定的规则进行转换后展示。在模板中定义和使用过滤器首先,在 Vue 实例中定义过滤器。例如,我们定义一个过滤器formatDate来格式化日期。

无 832

vscode 最全vue2 模板

【代码】vscode 最全vue2 模板。

liyaodong1234的博客 1329

手把手教你用LDR9201芯片DIY高性能Type-C耳机转接头(附电路图)

本文详细介绍了基于LDR9201芯片DIY高性能Type-C耳机转接头的完整实战教程。从芯片选型、电路设计、元器件采购到焊接调试,手把手指导如何打造一个免驱兼容、支持高解析度音频且可通过EEPROM深度定制功能的专属转接头。重点解析了LDR9201作为高度集成的USB音频控制器SoC的优势,并提供了核心电路图与配置指南,适合电子爱好者和硬件开发者实践。

jump7的博客 356

HC32F460 FPU实战:从零开启硬件浮点加速

本文详细介绍了如何在HC32F460开发板上启用和优化FPU(浮点运算单元),以显著提升硬件浮点运算性能。从工程配置、关键代码修改到实战优化技巧,全面解析FPU加速的实现方法,并分享常见问题的解决方案,帮助开发者避免常见陷阱,充分发挥HC32F460的硬件潜力。

weixin_42620340的博客 348

vue2模板解析

vue2模板解析

qq_42880714的博客 2096

全新YOLO26有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

🔥《2026年YOLO26改进专栏》🔥 🚀持续更新500+最前沿创新改进点(顶会顶刊论文/独家创新策略),涵盖主干网络、各种卷积、注意力机制、检测头等模块,助力科研论文发表与模型性能提升,支持检测/分割/分类任务。订阅即获完整可运行项目,提供专业QQ答疑群,适合科研发论文(SCI/CCF/核心)及工业应用(PCB/医学/遥感检测)。专栏价格将逐步上涨,早订更优惠! ⭐特色:非计算机专业友好、模块可自由组合、全网独家创新;📌适用:研究生大论文和小论文创新、小目标检测、多领域科研应用,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 5139

Vue基础——VueJS是什么、Vue的优缺点、vue2和vue3的模板区别、MVVM数据双向绑定、Vue的安装和使用、Vue模板语法-文本渲染、常用的vue的指令

Vue基础——VueJS是什么、Vue的优缺点、vue2和vue3的模板区别、MVVM数据双向绑定、Vue的安装和使用、Vue模板语法-文本渲染、常用的vue的指令

ranran0306的博客 9713

把 SAP S/4HANA 中的 Maintain Email Templates 用好:从模板维护、语言变体、业务绑定到传输治理的完整实践

摘要:SAP邮件模板管理常被低估,实则关乎审批通知、业务提醒等关键输出。官方推荐通过复制标准模板实现自定义,而非直接修改标准内容,以保持核心稳定。模板维护涉及语言变体、业务绑定、数据传输等治理环节,需业务顾问与开发团队协作确保字段来源与渲染逻辑。实施时需注意Fiori配置、权限分配及传输管理,避免测试与生产环境差异。模板设计应平衡灵活性与复杂度,遵循分层测试策略(内容、数据、流程),并建立命名规范以维护资产清晰度。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 67

1. SAP Fiori Elements 开发环境的搭建和开发准备工作

本文介绍了本地使用 Visual Studio Code 进行 Fiori Elements 开发所需要安装的这个扩展包里6个能够提高 Fiori Elements 应用开发效率的扩展。在本教程后续步骤里我们会通过实际的例子介绍这些 Visual Studio Code 扩展的详细用法。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3451

vue2模板语法

vue2模板语法

m0_62460586的博客 636

W5500以太网&PoE扩展模块原理图设计,已量产

本文将以 W5500 以太网 & PoE 扩展板为对象,从嵌入式硬件设计的视角,深度拆解其电路架构、核心器件选型、关键功能实现,以及这款板子解决行业痛点的设计思路。

不脱发的程序猿 945

vue2中的模板语法

举例:v-bind:href="xxx",简写为 :href="xxx" ,其中xxx同样为js表达式,而且可以直接读取data和computed中的属性;写法:{{xxx}} ,其中xxx是js表达式,且可以直接读取到data和computed中的所有属性;备注:vue中有很多指令,其形式都为v-?,例如v-on v-if v-for等等;功能:用于解析标签(包括:标签属性,标签体内容,绑定事件等)功能:用于解析标签体的内容;差值语法{{}} 和 指令语法。

骆小洛 308

基于STM32L4XX、HAL库的GC9307 TFT 液晶驱动IC驱动程序设计

GC9307是一款常用的TFT液晶驱动IC,支持240x320分辨率的RGB接口显示屏。(Master Out Slave In): 连接到STM32L4的SPI数据输出引脚(如PA7)(Serial Clock): 连接到STM32L4的SPI时钟引脚(如PA5)(Data/Command): 连接到STM32L4的GPIO引脚(如PA3)(Chip Select): 连接到STM32L4的GPIO引脚(如PA4)(Reset): 连接到STM32L4的GPIO引脚(如PA2): 分别连接到电源和地。

zhusl6688的博客 1033

请尽可能地详细说明一个VLA项目的立项训练到落地的全流程

一个机器人VLA项目的全流程是一个复杂的系统工程,它深度融合了机器人学 (Robotics)计算机视觉 (CV)和自然语言处理 (NLP)。其核心挑战在于高质量数据的获取和从仿真到现实的有效迁移。与纯粹的软件AI项目相比,它增加了硬件、物理交互和安全性的维度,但其最终能让AI走出虚拟世界、在物理世界中产生实际价值,这也是其巨大的魅力所在。

具身机器人和通用AI 303

vue2基本语法详细解析(2.1模板语法)

HTML标签 v-指令名:参数="javascript表达式"></HTML标签>第一:在编译的时候v-bind后面的“参数名”会被编译为HTML标签的“属性名”有的指令,既需要参数,又需要表达式,例如:v-bind:参数="表达式"<HTML标签 v-bind:参数="表达式"></HTML标签><HTML标签 v-bind:参数="表达式"></HTML标签>有的指令,不需要参数,但是需要表达式,例如:v-if="表达式"有的指令,不需要参数,也不需要表达式,例如:v-once。

wangwei_456789的博客 366

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

flask 项目中整合 vue,vue 模板语法与jinja2 引擎模板语法起冲突,解决方法_设置delimiters

当vue 和jinja2 语法起冲突时,设置 delimiters 解决冲突

weixin_42883164的博客 737

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【Vue2✨】 Vue2 入门之旅(二):模板语法

本文深入介绍Vue2的模板语法,主要包括插值表达式和指令系统。插值表达式使用{{}}语法将数据渲染到页面,支持简单JS表达式。指令系统以v-开头扩展HTML功能,重点讲解了v-bind(属性绑定)、v-model(双向数据绑定)、v-if/v-show(条件渲染)和v-for(列表渲染)的使用方法。这些内容是Vue入门必须掌握的核心知识,为后续学习数据与方法打下基础。

2301_77798916的博客 989

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

《Vue2 框架第二课:组件结构与模板语法详解》

本文详细讲解了 Vue2 中组件的结构与模板语法的核心内容。首先介绍了组件的三个主要组成部分:template(定义 HTML 结构)、script(包含逻辑代码)和 style(定义样式)。接着探讨了组件的两种注册方式:全局注册和局部注册。在模板语法部分,深入解析了插值表达式、常用指令(如 v-bind、v-on、v-if、v-for)以及数据过滤器的使用方法。通过示例代码,帮助你快速掌握如何构建和使用 Vue2 组件。

Pro_er的博客 1103

Vue2(模板语法,指令,修饰符)

对于一些大型项目需要对项目足够的性能优化,这时候你可以选择使用v-once指令对文本进行一次性渲染。

qq_73477845的博客 2263

vue2.x 模板语法

vue2.x 模板语法

monian187的博客 233

vue2技能树(2)-模板语法、vue的工具链、渐进式框架

Vue 2 允许你创建自定义指令,这是逐渐增强Vue功能的一种方式。你可以为特定的任务创建自定义指令,然后在需要时将它们添加到你的应用中。// 自定义指令的逻辑});这是对Vue 2逐渐增强的多方面详细介绍。Vue.js的逐渐增强特性使得它非常灵活,适用于各种项目规模和复杂度。你可以根据需求逐渐添加和拓展Vue的功能,而不必从头开始构建整个应用。这使得Vue成为一个理想的前端框架,适用于各种应用场景。

张羽的博客 618

【菜鸡学艺–Vue2–001】模板语法&声明式渲染

作为JS框架,Vue的核心之一就是实现数据响应式。

m0_61486963的博客 919

5.Vue2-模板语法

vue2的模板语法

玄衣手记 173

Vue2基础-模板语法与指令语法(HTML版)

Vue模板语法的介绍

大脑不能为空 448
上一篇: axios的使用
下一篇: 2.3Vue2事件处理
@Cedric
博客等级 码龄5年 263粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值