Vue之模板语法

模板语法有两大类:
1.插值语法
2.指令语法

让我为大家介绍一下吧!

一、插值语法

功能:用于解析标签体内容。
写法: {{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。

举个例子:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div id="root">
        <!-- 我们发现name已经被解析为了张三 -->
        <div>我的名字叫{{name}}</div>
        <!-- 我有一个叫做李四的同学 -->
        <div>我的名字叫{{name}}</div>
    </div>
</body>
<script src="../JS/vue.min.js"></script>
<script>
    const vm = new Vue({
        el:"#root",
        data:{
            name:"张三",
            name:"李四"
        }
    })
</script>
</html>


我们发现全是李四,我想保留张三怎么做?
我教大家一个方法,我们可以使用对象的形式去做,来看代码

html 复制代码
<body>
    <div id="root">
        <!-- 我们发现name已经被解析为了张三 -->
        <div>我的名字叫{{name}}</div>
        <!-- 我有一个叫做李四的同学 -->
        <div>我的名字叫{{school.name}}</div>
    </div>
</body>
<script src="../JS/vue.min.js"></script>
<script>
    const vm = new Vue({
        el:"#root",
        data:{
            name:"张三",
            school:{
                name:"李四"
            }
        }
    })
</script>

二、指令语法

功能:用于解析标签(包括:标签属性、标签体内容、绑定事件...)
举例:v-bind;href="xxx"或 简写为 :href="xxx",xxx同样要写js表达式,且可以直接读取到data中的所有属性。
备注:Vue中有很多的指令,且形式都是: v-???,此处我们只是拿v-bind举个例子。

我们上个例子,我们想用Vue的形式给a标签添加href转跳到某度

上代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <div id="root">
        <!-- 我们使用 v-bind: -->
        <a v-bind:href="url">点击转跳</a>
        <!-- 我们可以使用简写形式直接就是 : -->
        <a :href="url">我是简写形式点击转跳</a>
    </div>
</body>
<script src="../JS/vue.min.js"></script>
<script>
    const vm = new Vue({
        el:"#root",
        data:{
            url:"https://www.baidu.com/"
        }
    })
</script>
</html>


由此可见,我们可以使用插值语法给标签属性添加属性值

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

相关推荐
天若有情6733 分钟前
前端性能优化:从“按下预加载”到“AI级智能预判系统”
前端·性能优化·js·active·hover·首屏加载
JackieZhengChina14 分钟前
零依赖轻量级JS悬浮提示插件title2tip-js的使用教程
开发语言·javascript·ecmascript
Csvn21 分钟前
📦 CSS Container Queries 实战踩坑:5 个让你怀疑人生的隐藏陷阱
前端
大家的林语冰34 分钟前
👍 Rust 为 Node 插上翅膀,反超 Bun 和 pnpm,一体化工具我也有!
前端·javascript·node.js
坐而论道_1 小时前
兼容低版本 Android:让现代 Web 应用在旧 WebView 上稳定运行
前端·面试
ssshooter1 小时前
Promise 和 async/await 被 try-catch 包裹时的行为差异
前端·javascript·面试
肖志-AI全栈1 小时前
从零讲透 Ajax:XHR、Fetch、JSON 序列化到异步编程全链路
前端·ajax·json
yyt3630458411 小时前
KlineChartQuant Tooltip 高频交互 200FPS 性能优化完整复盘
前端·经验分享·性能优化·typescript·vue·交互·chrome devtools
2601_963771372 小时前
WordPress SEO Guide: Boost Rankings Without Technical Jargon
前端·php
李顿波2 小时前
Chrome 扩展程序 MV3 架构组件概览
前端·chrome·浏览器插件