v-on:事件监听,语法糖 @click,
v-on:click (@click):绑定点击事件,执行相对于的方法,调用的方法一般写在methods中 <div v-on:click='url'></div>
注意:
1、如果不需要传参数方法后面可以不加()括号
2、如果方法需要参数,但是事件没有传参数,会报错 @click=“btnclick()””
3、、如果方法需要参数,但是事件没有传参数,@click=“btnclick”会把event事件传到方法中
4,当需要传多个参数以及需要event时,需要在event前面加一个$符号,@click=“btnclick(‘abc’,$even)
v-bind :主要是在标签内绑定属性使用 用法如下img v-bind:src="url" 这样就可以直接加载图片 v-bind:href='url'这样就可以添加a链接 ,v-bind也可以绑定class属性和style属性,绑定class和style的语法有两种,v-bind也可以是表达式 例如三元表达式
一是对象语法;二是数组语法
对象语法的解释:
v-bind:class="{类名:Boolen,类名:boolen}";v-bind后面的值可以是对象,在对象中使用布尔值来判断是否显示类名,例如当类名后面的值是true则就显示这个类名,如果是false就不显示这个类名
v-bind:class也可以绑定属性methods中的方法,语法为 v-bind:class='getclass()'
v-bind:class也可以绑定计算属性的computer中的
<div v-bind:class="getclass()">{{message}}</div>
getclass(){
return {active:this.isactive,line:this.isline}
}
注意:
1、注意这里的方法需要加(),这里与v-on:click有所不同,v-on:click是调用方法是不用加()
2、使用v-bind绑定class并不影响前面是否已经有class名字,例如div class=“body” v-bind:class='{active:isactive,line:isline}' 这样也是可以,后面的对象 并不影响前面的class

数组语法使用解释:
<div v-bind:class="['active','line']">{{message}}</div>
<div v-bind:class="[active,line]">{{message}}</div>
注意 数组里面是否有单引号是不同的含义,加引号是字符串,不加引号是变量,直接调用data里的变量
数组也可以在methods中使用,使用方式如下
<div v-bind:class="getclassarray()">{{message}}</div>
getclassarray(){
return [this.arraynum,this.name]
}
以下不常用的指令
v-once:只执行一次,不是响应式的命令,data数据发生改变,页面的内容不会改变,<div v-once>{{num}}</div> 后面没有等号=
v-text:在替换标签内的内容,会覆盖原有的内容语法:<div v-text='url'></div>
v-html="" :包含v-text功能,区别在于v-html可以解析标签元素。语法<div v-html="url"></div>
v-pre:直接显示标签内的内容,vue实例不会进行解析
v-cloak:当没有解析完js的时候,会把{{message}}显示出来,然后在显示data中的数据,会有一个闪现的效果,使用v-cloak可以解决这个问题,他的意思是当数据没有加载完时,先把这个标签元素隐藏,加载完成时在显示,他需要在css中定义display属性才可以用,例如
[v-cloak]{
display: none;
}
<div v-cloak>{{message}}</div>
网友评论