1 Vue模板语法
Vue模板语法分为两大类,插值语法和指令语法
1.1 插值语法
1)功能:用于解析标签体内容
2)写法:{{xxx}}
xxx是js表达式,且可以直接读取到vue实例里面的属性
3)示例
1.2 指令语法
1)功能:用于解析标签(包括:标签属性、标签体内容、时间绑定......)
2)比如v-bind: v-model: 等等指令
2 数据绑定
2.1 差值语法{{}}
<div id="root">
<h1>hello {{name * 2}}</h1>
</div>
<script type="text/javascript" >
new Vue({
el:'#root',
data:{
name:'123'
}
})
</script>
2.2 v-bind单向绑定
通过单向绑定数据
<div id="root"> <h1>hello {{name * 2}}</h1> <!-- href属性绑定date的url --> <a v-bind:href="url">百度一下</a> <br/>
<!-- value属性绑定phone属性 --> <input v-bind:value="phone"/><br/>
<!-- v-bind:可以简写成: --> <input :value="phone"/> </div> <script type="text/javascript" > new Vue({ el:'#root', data:{ name:'123', url:'www.baidu.com', phone:'15874859687' } }) </script>
2.3 v-model 双向绑定
<div id="root">
<!-- value属性绑定phone属性 -->
<input v-model:value="phone"/><br/>
<!-- 可以简写成: -->
<input v-model="phone"/>
</div>
<script type="text/javascript" >
new Vue({
el:'#root',
data:{
name:'123',
url:'www.baidu.com',
phone:'15874859687'
}
})
</script>
注意,双向绑定只能用于表单元素
2.4 单向绑定和双向绑定的区别
单向绑定,date的属性的值变化会影响容器,容器里面变化不会影响data的值
双向绑定,date的属性的值变化会影响容器,容器里面变化会影响data的值
示例
<div id="root">
<!-- 单向绑定 -->
单向绑定:<input :value="phone"/><br/>
<!-- 双向绑定 -->
双向绑定:<input v-model="phone"/>
</div>
<script type="text/javascript" >
new Vue({
el:'#root',
data:{
name:'123',
url:'www.baidu.com',
phone:'15874859687'
}
})
</script>
效果
现在,我们在单向绑定的输入框,输入新的手机号码,发现data里面的phone没有发生变化
现在,我们在双向绑定的输入框,输入新的手机号码,发现data里面的phone同步发生变化,同时因为data的phone属性变化,单向绑定输入框现实的值也变化了
2.5 小结
3 Vue实例中el的两种写法和date的两种写法
3.1 el的两种写法
3.1.1 第一种
直接在data里面写el属性的值
3.1.2 第二种
使用$mount
3.2 data的两种写法
3.2.1 第一种对象式
直接写个对象
3.2.2 第二种函数式
把data写成一个函数,这个函数必须返回一个对象
const v = new Vue({
data:function(){
return {
name:'123',
url:'www.baidu.com',
phone:'15874859687'
}
}
})
我们来看一下是谁调用的这个函数,打印下this,发现是Vue实例
这个函数还可以简写
const v = new Vue({
data(){
console.log('调用者:' , this)
return {
name:'123',
url:'www.baidu.com',
phone:'15874859687'
}
}
})
3.3 小结
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?