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>


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

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

相关推荐
万少2 小时前
HarmonyOS 开发必会 5 种 Builder 详解
前端·harmonyos
橙序员小站4 小时前
Agent Skill 是什么?一文讲透 Agent Skill 的设计与实现
前端·后端
炫饭第一名6 小时前
速通Canvas指北🦮——基础入门篇
前端·javascript·程序员
王晓枫7 小时前
flutter接入三方库运行报错:Error running pod install
前端·flutter
符方昊7 小时前
React 19 对比 React 16 新特性解析
前端·react.js
ssshooter7 小时前
又被 Safari 差异坑了:textContent 拿到的值居然没换行?
前端
曲折7 小时前
Cesium-气象要素PNG色斑图叠加
前端·cesium
Forever7_7 小时前
Electron 淘汰!新的桌面端框架 更强大、更轻量化
前端·vue.js
不会敲代码17 小时前
前端组件化样式隔离实战:React CSS Modules、styled-components 与 Vue scoped 对比
css·vue.js·react.js
Angelial7 小时前
Vue3 嵌套路由 KeepAlive:动态缓存与反向配置方案
前端·vue.js