vue中的模板语法
0.前言
vue中的模板语法分为插值语法和指令语法。
1.插值语法
插值语法就是我们常见的花括号。比如下面的代码,用花括号括起来的name和msg1就是插值语法。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue测试</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<!-- 制作一个容器 -->
<div id="first">
<h2>Hello, {{name}}</h2>
<h2>{{msg1}}</h2>
</div>
<script type="text/javascript">
new Vue({
el:'#first',
data:{
name:"world",
msg1:"3333333"
}
})
</script>
</body>
</html>
2.指令语法
v-bind、v-if、v-model等等
这种语法会“值”当成js表达式来执行。
先拿v-bind举例。比如你的网站有个超链接,让你超链接到百度上,那么你一开始可能会这么写:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue测试</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<!-- 制作一个容器 -->
<div id="first">
<h2>Hello, {{name}}</h2>
<h2>{{msg1}}</h2>
<h3>测试指令语法</h3>
<a href="http://www.baidu.com"> 跳转到百度 </a>
</div>
<script type="text/javascript">
new Vue({
el:'#first',
data:{
name:"world",
msg1:"3333333"
}
})
</script>
</body>
</html>
如果我想把herf超链接变成动态可变的呢,想下面这样写肯定会出错的。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue测试</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<!-- 制作一个容器 -->
<div id="first">
<h2>Hello, {{name}}</h2>
<h2>{{msg1}}</h2>
<h3>测试指令语法</h3>
<a href={{url}}> 跳转到百度 </a>
</div>
<script type="text/javascript">
new Vue({
el:'#first',
data:{
name:"world",
msg1:"3333333",
url:"http://www.baidu.com"
}
})
</script>
</body>
</html>
正确的写法应该是用v-bind。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue测试</title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
<!-- 制作一个容器 -->
<div id="first">
<h2>Hello, {{name}}</h2>
<h2>{{msg1}}</h2>
<h3>测试指令语法</h3>
<a v-bind:href="url"> 跳转到百度 </a>
</div>
<script type="text/javascript">
new Vue({
el:'#first',
data:{
name:"world",
msg1:"3333333",
url:"http://www.baidu.com"
}
})
</script>
</body>
</html>
注:v-bind可以给标签里的任何一个属性进行动态绑定。
3.简单总结
插值语法用于解析标签体内容。
指令语法用于解析标签(包括属性、标签体、绑定事件等)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具