v-on
<div id="app">
<div v-on:click.prevent='notmao()'><a href="/" v-on.prevent='notmo()'>禁止默认行为</a></div>v-on:click:点击事件。简写@click=
v-on:keyup:键盘
v-on:keyup.enter:按下enter键,简写@keyup.enter=
.后面的是事件的修饰符
.stop 阻止冒泡
.prevent 阻止默认事件
.capture 添加事件侦听器时使用事件捕获模式
.self 只当事件在该元素本身(比如不是子元素)触发时触发回调
.once 事件只触发一次
v-bind
(1)绑定元素的属性值
<a v-bind:href="url"></a>(2)设置元素的样式
<div v-bind:class="klass">2</div>
<div v-bind:class="{ative:isactive}"></div>active是类名,isactive是vue实例的变量,当isactive为真的时候,才会添加ative类简写 :class="{active:isactive}"
v-model
<form >
<input type="text" name="username" v-model='username'>
</form>(1)v-model用于输入框(在、、、components)数据的双向绑定,里面的message是vue实例的变量
(2)v-model.lazy
这样写可以在用户按回车或者失去焦点时,p标签才会被赋予上值,可以减少服务器压力
(3)v-model.number可以让输入框只能输入数字,如果输入其他类型的值,则输入框会自动清除
(4)v-model.trim 去除首尾空格
v-for
(1)遍历简单数组
(2)遍历json
(3)遍历数字
(4)遍历对象
(1)遍历简单的数组
//var a=[1,2,3]-->虚拟一个vue实例变量a,数组
<ul>
<li v-for="(item,index) in a">
{{idenx}},{{item}}
</li>
</ul>(2)遍历json
//var json=[{name:"fawen","age":12},{name:"dada",age:23}]
<ul>
<li v-for="(item,index) in json">
{{idenx}},{{item.name}},{{item.age}}
</li>
</ul>(3)遍历普通对象
//var obj={name:"fawen",age:23};
<ul>
<li v-for="(val,key,index) in json">
{{idenx}},{{val}},{{key}}
</li>
</ul>(4)遍历普通数字
<ul>
<li v-for="count in 4">
<!-- 这个count无需在vue实例定义-->
{{count}}
</li>
</ul>如果需要使用key,则key值必须为number或者string类型,而且必须是唯一的,要使用 v-bind绑定
//var json=[{name:"fawen","age":12,href:"aa.png",id:'111'},{name:"dada",age:23}]
<ul>
<li v-for="(item,index) in json" v-bind:key="item.id">
<a v-bind:href="item.href"></a>
</li>
</ul>
</div>v-if 与 v-show
<div v-show='isactive'>123</div>
<div v-if="isactive"></div>(1)v-if 和v-show的区别:虽然两者都是用于判断是否显示元素
v-if ,如果条件值为false的时候,是不会在dom中的
v-show,如果条件为false的时候,是会在dom中,只是把display设置为none
(2)两者的用法,如果需要频繁切换,使用v-show的性能优于v-if
如果只显示一次,建议使用v-if,因为一开始是不生成在dom中,可以减少一开始渲染的时间。
v-html 与v-text
(1)如果想插入一些html标签,可以使用v-html
//例如,var a='<h1>这是一个标题</h1>'
<div v-html='a'></div>代码的实现效果如下代码
<div><h1>这是一个标题</h1></div>(2)v-html与v-text的区别
还是使用上面的例子
<div v-text='a'></div>
<!-- 代码的实现效果如下代码 -->
<div>\<h1>这是一个标题\</h1></div>
<!--编译的时候,不会把h1当做标签,只是把它单做字符串"<h1>"显示在页面-->
效果和一下代码一样
<div>{{a}}</div>译的时候,不会把h1当做标签,只是把它单做字符串"<h1>"显示在页面
















