一般来说,v-if有更高的切换消耗而
v-show有更高的初始渲染消耗。因此,如果需要频繁切换使用 v-show较好,如果在运行时条件不大可能改变则使用v-if较好。
v-else
元素必须紧跟在v-if或v-show元素的后面——否则它不能被识别。
v-bind:
缩写::
{{}}表达式绑定数据的时候,可以直接将数据显示在页面中(html)里面,
v-bind img src 属性,
作用:v-bind 给页面中html属性进行绑定
语法:v-bind:图片里面src属性=“data 中的图片地址”
如:
<img v-bind:src="img" /> <div v-bind:style="styles">style</div> data:{ img:"img/logo.png", styles:{color:'red',fontSize:'30px'} }
缩写形式:
<img :src="img" /> <div :style="styles">style</div>
v-bind添加的style样式是添加在内联中的。
v-on:
缩写形式:v-on:click ---- >@click
@+事件
作用:对页面中的事件进行绑定 vue自定义了一套事件机制
angularjs中对pc端支持比较良好,对移动端支持一般,vue主要支持移动端,也支持pc端
事件开发中,事件 v-on: 绑定在页面(view)中,再vue实例里面,在methods中去监听
在页面中 我们做的行为: v-on:click="函数名称"
函数应该写在vue实例的methods属性里面
methods也要写成对象:
methods:{ clickBtn:function(){ } }
例:<button v-on:click="clickBtn()">点击</button>
methods:{ clickBtn:function(){ alert('触发了button绑定的事件'); } }
在事件中传递值,事件中通过$event传递事件列表,在methods里面就可以直接获取事件列表里面的值
当一个行为所触发了一个事件,发生事件交互的时候所产生的一种结果(出现一个事件列表)
vue中的事件列表$event
事件列表:
补充:事件修饰符
通过由点(.)表示的指令后缀来调用修饰符。
.stop
.prevent
.capture
.self
<!-- 阻止单击事件冒泡 --> <a v-on:click.stop="doThis"></a> <!-- 提交事件不再重载页面 --> <form v-on:submit.prevent="onSubmit"></form> <!-- 修饰符可以串联 --> <a v-on:click.stop.prevent="doThat"></a> <!-- 只有修饰符 --> <form v-on:submit.prevent></form> <!-- 添加事件侦听器时使用事件捕获模式 --> <div v-on:click.capture="doThis">...</div> <!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 --> <div v-on:click.self="doThat">...</div>
v-for :
作用:控制html元素的循环,实现数据列表的生成
用法:
view: v-for="item in 集合"
item:每个集合的子项
集合:被遍历的集合
写在谁上谁循环
model:添加上将来要被循环遍历并在页面输出数组对象
实例:
考虑:
1.vue核心绑定数据,在开发过程中,只要将数据绑定好,剩下只要去关注实现业务
2.开发的时候,如何进行数据绑定:
(1) 基于前后端交互协议
(2) mock数据进行测试-----实现绑定
3.初始化vm (初始化时定义一会解析数据后,可以存放数据的变量,将其写在data中,给个' '值)
4.请求得到数据
5.获取值放进data里面
6.在view中找到相应位置遍历(v-for写在谁上面谁遍历,写在div上表示有几条数据,显示几个div)()
7.搜索功能
思路:
a:事件在什么时候发生-------------发生在button按钮上
b:通过事件获取文本框中输入的值 (v-model记录输入值)
c: 发送请求得到结果
d:将得到的数据 强制赋值到result里面, view 自动更新
总结:
1.表达式 {{}}
2.指令 v-model v-if v-else v-show v-on v-bind v-for