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找。
🚬每天分享一点点, 欢迎大家讨论, 共同学习, 有不对的地方,欢迎指出🚬