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>


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

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

相关推荐
霍理迪几秒前
TS—函数、类、泛型
前端
一 乐14 分钟前
工会管理|基于springboot + vue工会管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·工会管理系统
cc.ChenLy29 分钟前
浏览器缓存机制详解:如何彻底解决前端代码更新后的缓存问题
前端
阿珊和她的猫32 分钟前
使用 TypeScript 实现数组类型判断方法
javascript·typescript·状态模式
XTTX11035 分钟前
Vue3+Cesium电子围栏效果
前端·javascript·vue.js
KevinWang_1 小时前
AI 基础设施及其应用
前端
AIFarmer1 小时前
npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。
前端·npm·node.js
小红的布丁1 小时前
Redis 集群详解:主从哨兵和切片集群有什么区别
前端·数据库·redis
Ruihong1 小时前
你的 Vue 3 defineProps(),VuReact 会编译成什么样的 React?
vue.js·react.js·面试
小高0071 小时前
🔥前端性能内卷终点?Signals 正在重塑我们的开发习惯
前端·javascript·vue.js