关于v-bind的这些细节你需要知道

723 阅读1分钟
v-bind

v-bind用来绑定属性,比如

<img v-bind:src="imgUrl" />
<div :class="redClass">我是红色字体</div

也可以直接去掉v-bind使用, 直接使用冒号,如果想要绑定多个class,写法如下

<div :class="[redClass, miniSize]">内容</div>

也可以使用三元运算作用在v-bind上

<div :class="true?redClass:blueClass"></div>

绑定的属性只针对于第一个, 如果有重复的,会计算第一个, 第二个不生效,如下

<div :class="redClass" :class="miniSize"></div>

也可以写成对象的方式

<div :class={redClass:true,greenClass:true}></div>

Note:

<div class="red" :class="{red:flag}"></div>

如果上面的flag为false,那么渲染出来的class是有red的, 因为这里的flag不作运算处理, 只做添加操作, 如果为true就在class的集合中添加class,没有就不添加

对于行间属性style的操作是一样的,通过:style来操作

<div :style="{backgroundColor:redClass,width:'100px',height:'100px'}">内容</div>

其中redClass是在data中绑定的属性,绑定多个style一样是放在数组中

绑定style的时候 :style的权重是大于style的

v-on

绑定事件 ,简写方式 @click,函数写在methods里面,methods里面的函数的this指向是的Vue实列,如果函数本身是箭头函数,那么this指向的是window,注意⚠️⚠️⚠️。

如果在data中有一个属性跟methods中同名,那么会报错,会优先去data找。

🚬每天分享一点点, 欢迎大家讨论, 共同学习, 有不对的地方,欢迎指出🚬