关于关于vue.js v-bind 的一些理解和思考的一些理解和思考
本篇文章主要介绍了关于vue.js v-bind 的一些理解和思考,小编觉得挺不错的,现在分享给大家,也给大家做个
参考。一起跟随小编过来看看吧
一、一、v-bind 初探初探
它是一个 vue 指令,用于绑定 html 属性,如下:
<div id="app">
<p v-bind:title="title">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
......
var vm = new Vue({
el: '#app',
data: {
title: 'title content'
}
});
这里的 html 最后会渲染成:
<div id="app">
<p title="title content">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
二、指令预期值二、指令预期值
上面这种 v-bind 这也是我们对于 vue 指令最初的理解,但实际上,vue 指令的预期值(如 v-bind:class="classProperty"
中,v-bind 是指令,: 后面的 class 是参数,而 classProperty 则在官方文档中被称为“预期值”),除了像上面那样绑定一个字
符串类型变量,其实它是支持一个单一 JavaScript 表达式 (v-for 除外)。
所以在这里,我们就可以有更多的选择,例如:
((1)执行运算)执行运算
<div id="app">
<p v-bind:title="t1 + ' ' + t2">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
......
var vm = new Vue({
el: '#app',
data: {
t1: 'title1',
t2: 'title2'
}
});
最后渲染的结果:
<div id="app">
<p title="title1 title2">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
((2)执行函数等)执行函数等
<div id="app">
<p v-bind:title="getTitle()">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
......
var vm = new Vue({
el: '#app',
data: {
getTitle: function () {
return 'title content';
}
}
});
最后渲染的结果:
<div id="app">
<p title="title content">html属性不能使用双大括号形式绑定,只能使用v-bind指令</p>
</div>
三、支持的数据类型三、支持的数据类型