我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么理解Vue中的模板语法插值和指令

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么理解Vue中的模板语法插值和指令

本篇内容主要讲解“怎么理解Vue中的模板语法插值和指令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Vue中的模板语法插值和指令”吧!

怎么理解Vue中的模板语法插值和指令

Vue有很多模板语法特别好用,就是在HTML中写一些Vue定义的一些模板语法,可以快速的展现数据,绑定方法等。这也就是Vue上手很快的原因之一。

1. 模板的理解

我们先来理解理解什么是模板?

模板就是动态html页面,这里面包含了一些js语法代码

Vue的模板语法分为两种,分别是:

  • 【插值语法】双大括号表达式 (“Mustache”语法)【一个】

  • 【指令语法】指令(以v-开头的自定义标签属性)【很多】

插值语法:

  • 功能:用于解析标签体内容,向页面输出数据

  • 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性,可以调用对象的方法

  • 备注:里面写js表达式:有返回值的js代码,而不是js语句

指令语法:

  • 功能:用于解析标签(包括:标签属性、标签体内容、绑定事件.....)

  • 举例:v-bind:href="xxx" 或  简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性

  • 备注:Vue中有很多的指令,且形式都是:v-????

下面我们来介绍几个常用的指令语法。

2. 指令语法:强制数据绑定 v-bind:

功能:指定变化的属性值

完整写法

v-bind:xxx='yyy'  // yyy会作为表达式解析执行

简洁写法

:xxx='yyy'

单向数据绑定

  • 语法:v-bind:href ="xxx" 或简写为 :href ="xxx"

  • 特点:数据只能从 data 流向页面

双向数据绑定 指令 v-model

  • 语法:v-mode:value="xxx" 或简写为 v-model="xxx"

  • 特点:数据不仅能从 data 流向页面,还能从页面流向 data

3. 指令语法:绑定事件监听 v-on:

功能:绑定指定事件名的回调函数

完整写法

v-on:click='xxx'v-on:keyup='xxx(参数)'v-on:keyup.enter='xxx'

简洁写法

@click='xxx'@keyup='xxx'@keyup.enter='xxx'

4. v-text与v-html

v-text

  • 作用:向其所在的节点中渲染文本内容。

  • 与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会。

v-html

作用:向指定节点中渲染包含html结构的内容。

与插值语法的区别:

  • (1).v-html会替换掉节点中所有的内容,{{xx}}则不会。

  • (2).v-html可以识别html结构。

严重注意:v-html有安全性问题!!!!

  • (1). 在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。

  • (2). 一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!

<body>    <div id='app'>        <h3>1. 大括号表达式</h3>        <p>{{msg}}</p>    <!--textContent -->        <p>{{msg.toUpperCase()}}</p>        <p v-html="msg"></p> <!--innerHTML -->        <p v-text="msg"></p> <!--textContent -->        <p v-text="msg.toUpperCase()"></p>        <h3>2. 指令一: 强制数据绑定</h3>        <img class="lazy" data-src="imgUrl" alt="Vue">  <!--无法显示图片,没有识别成js表达式 -->        <img v-bind:class="lazy" data-src="imgUrl" alt="Vue"> <!--属性值识别成js表达式 -->        <img :class="lazy" data-src="imgUrl" alt="Vue">        <h3>3. 指令二: 绑定事件监听</h3>        <button v-on:click="test1">test1</button>        <button @click="test1">test1</button>                <button @click="test2('abc')">test2</button> <!--可以传参数 -->        <button @click="test2(msg)">test2</button>    </div>    <script class="lazy" data-src="../js/vue.js"></script>    <script>        new Vue({            el: '#app',            data: {                msg: '<a href="http:www.baidu.com">I Will Back!</a>',                imgUrl: "https://cn.vuejs.org/images/logo.png"            },            methods: {                test1() {                    alert('heheh');                },                test2(content){                    alert(content);                }            }        })    </script></body>

怎么理解Vue中的模板语法插值和指令

5. 条件渲染指令

移除标签删除

  • v-if

  • v-else

写法:

  1. v-if="表达式"

  2. v-else-if="表达式"

  3. v-else="表达式"

适用于:切换频率较低的场景。特点:不展示的DOM元素直接被移除。注意:v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”。

添加样式隐藏(display: none)

  • v-show

写法:v-show="表达式"适用于:切换频率较高的场景。特点:不展示的DOM元素未被移除,仅仅是使用样式隐藏掉

【备注】使用v-if的时候,元素可能无法获取到,而使用v-show一定可以获取到。

比较v-if与v-show

v-if是控制元素是否加载到页面上(有性能开销) v-show是控制元素的显示与隐藏 (初始创建时加载一次)

  • 如果需要频繁切换 v-show 较好

  • 当条件不成立时, v-if 的所有子节点不会解析

<body>    <div id="demo">        <p v-if="ok">成功了</p> <!-- 移除标签删除 -->        <p v-else>失败了</p>        <p v-show="ok">又成功了</p> <!-- 添加样式隐藏 -->        <p v-show="!ok">又失败了</p>        <button @click="ok = !ok">切换</button>    </div>    <script class="lazy" data-src="../js/vue.js"></script>    <script>        new Vue({            el: '#demo',            data: {                ok: false,            }        })    </script></body>

怎么理解Vue中的模板语法插值和指令

6. 总结

一些常用的指令

  • v-text : 更新元素的 textContent

  • v-html : 更新元素的 innerHTML

  • v-if : 如果为true, 当前标签才会输出到页面

  • v-else: 如果为false, 当前标签才会输出到页面

  • v-show : 通过控制display样式来控制显示/隐藏

  • v-for : 遍历数组/对象

  • v-on : 绑定事件监听, 一般简写为@

  • v-bind : 强制绑定解析表达式, 可以省略v-bind

  • v-model : 双向数据绑定

  • ref : 为某个元素注册一个唯一标识, vue对象通过$refs属性访问这个元素对象

  • v-cloak : 使用它防止闪现表达式, 与css配合: [v-cloak] { display: none }

到此,相信大家对“怎么理解Vue中的模板语法插值和指令”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么理解Vue中的模板语法插值和指令

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么理解Vue中的模板语法插值和指令

本篇内容主要讲解“怎么理解Vue中的模板语法插值和指令”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么理解Vue中的模板语法插值和指令”吧!Vue有很多模板语法特别好用,就是在HTML中写一些
2023-06-25

Vue3中的模板语法和vue指令

这篇文章主要介绍了Vue3中的模板语法和vue指令,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-11-13

Vue3中的模板语法和vue指令怎么使用

1模板插值语法在script声明一个变量可以直接在template使用用法为{{变量名称}}模板语法是可以编写条件运算的运算也是支持的操作API也是支持的{{message}}{{message2==0?&#39;我是老大&#39;:&#39;我笑的&#39;}}{{message2+1}}{{message.split(&#39;&#39;).map(v=>`4546$v`)}}constmessage="我是唐少"co
2023-05-18

vue中的指令和插值怎么使用

这篇文章主要介绍“vue中的指令和插值怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中的指令和插值怎么使用”文章能帮助大家解决问题。一、安装vue直接使用script标签引入
2023-07-04

Vue中的Mustache插值语法、v-bind指令怎么使用

本篇内容介绍了“Vue中的Mustache插值语法、v-bind指令怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、Mustach
2023-07-04

vue基础语法中的插值表达式如何理解

vue基础语法中的插值表达式如何理解,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、vscode插件介绍在我们演示插值表达式之前,我们先安装这一个VScode给我们提供的插件
2023-06-29

Vue的MVVM模板语法和数据绑定怎么使用

本篇内容介绍了“Vue的MVVM,模板语法和数据绑定怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. Vue概述Vue官网英文官网
2023-06-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录