Vue基础之模板语法和数据绑定 (尚硅谷天禹老师Vue学习笔记2)

Vue的模板语法和数据绑定

插值语法

老规矩,先创建HTML

创建容器,并实例化Vue,不明白的可以看看我的第一篇笔记

根据前面学习的内容,我们可以很熟练的写出如下代码(此处代码省略一部分内容)

<div id="root">
	<h1>Hello {{name}}</h1>
</div>
<script>
	new Vue({
		el: '#root', 
		data: { 
			'name': 'mike'
		}
	});
</script>

但是标签属性读怎么取data呢

这里不能使用{{}}。

需要使用Vue的v-bind语法,可以写做v-bind::,这样就可以让标签属性拿到data中的值

<a v-bind:href="url">点我进入测试网站</a>
<a :href="url">点我进入测试网站</a>

这就是指令语法

指令语法中同样可以书写JS表达式,如name.toUpperCase()

如果数据有重名,就可以把某一个数据设定成类似这样的形式,这里有JSON基础就很好理解

school: {
	url: 'https://www.w3.org',
	name: 'Vue'
}

取值时使用school.xxx即可取到school中的值

这样就可以分类管理数据,也使代码更好维护。

数据绑定

通过前面的学习,我们了解了Vue的特征、Vue插值语法及指令语法,但是v-bind能从页面获取数据吗(将页面中输入的数据传回到data中)

单向绑定

老规矩,我们先初始化Vue

<div id="root">
	<h1>Hello {{name}}</h1>
</div>
<script>
	new Vue({
		el: '#root', 
		data: { 
			'name': 'mike'
		}
	});
</script>

大家可以把自己代码做成一个模板来实现

为了测试v-bind是否能双向绑定

我们写一个input

<input type="text" v-bind:value="name" />

打开浏览器改变input的值并通过Vue DevTools查看

单向绑定

可见v-bind不能实现双向绑定,那么如何实现双向绑定呢?

这里可以采用v-model来实现双向绑定。

<input type="text" v-model:value="name" />

双向绑定

v-model不能用于绑定非表单类标签,如p,h1等,如果使用,则会报出以下错误

error

总结

模板语法

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

数据绑定

Vue有2种数据绑定的方式:

  1. 单向绑定(v-bind):数据只能从data流向页面。

  2. 双向绑定(v-model):数据不仅能从data流向页面,还可以从页面流向data。

    备注:
    1. 双向绑定一般都应用在表单类元素上(如:input、select等)
    2. v-model:value 可以简写为 v-model,因为v-model默认收集的就是value值。

  • 了解并熟练掌握Vue的指令语法
  • 了解并能熟练使用Vue的数据绑定

入门阶段,请大家多多指教

  • 16
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值