Vue学习-6
v-bind指令
v-bind 主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等等,只要是属性,就可以用v-bind指令进行绑定
- v-bind指令用法<a v-bind:href='url'>跳转</a>
- 缩写形式<a :href='url'>跳转</a>


v-bind 和 v-on的区别
- v-bind 绑定属性 
- v-on 绑定事件 
指令v-model底层原理分析
通过 v-on监听输入框的输入事件,将输入的值通过input事件处理函数存到data中给输入框,通过v-bind 绑定属性 value 把数据渲染到页面上


还可以将其简写


样式绑定之class绑定
绑定对象
通过v-bind:class = {键:值}
键代表一个类名 如果这个值为true表示显示这个类名 如果这个值 为false 表示不显示这个类名


可以看见当为true的时候类名是加上的。为false则没有类名

绑定数组
如何绑定一个数组
通过v-bind:class =[ 值1,值2 ] 值1、值2 对应 data 中的 数据

类名绑定成功,当点击切换时数组中的数据变为空,类名绑定也为空,样式消失

3个细节用法
对象绑定和数组绑定可以混用吗?
- 数组中可以存储任何数据类型 
- 对象的值中也可以存储任何数据类型 
绑定数组和绑定对象有什么区别?
- 绑定对象的时候对象的属性 即要渲染的类名 对象的属性值对应的是 data 中的数据 
- 绑定数组的时候数组里面存的值 是data 中的数据 
默认的class如何处理?
- 默认的class会保留


样式绑定之style绑定
v-bind:style = [值1, 值2 ] 数组中的值1和值2中存储的是一个对象 这个对象里面存储的css属性和属性值
v-bind:style = { 键: 值 } 对象中键代表 CSS的属性 ,中存贮的是 CSS 属性值


分支结构
v-if ⚫ v-else ⚫ v-else-if ⚫ v-show
v-if 使用场景
- 多个元素 通过条件判断展示或者隐藏某个元素。或者多个元素
v-show 和 v-if 区别
- v-if控制元素是否渲染到页面 
- v-show控制元素是否显示(已经渲染到页面) 
- v-show本质就是标签display设置为none,控制隐藏 
- v-if是动态的向DOM树内添加或者删除DOM元素 
- v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。 
- v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件 


v-show效果测试

当我们修改score的值的时候,v-if会将符合条件的进行动态添加到DOM中。

循环结构
遍历数组
vue中循环是哪一个指令?
- v-for=”item in 数组名” 
- v-for = “(item,index) in 数组名” 
- Item 代表数组中的每一项 index 代表索引 
key的作用
- key来给每个节点做一个唯一标识 
- key的作用主要是为了高效的更新虚拟DOM 


遍历对象
怎么遍历对象?
- v-for = “(item,key,index) in 对象名” 
- Item 代表对象中的每一项 
- Key 代表对应的键名 
- Index 代表对应的 索引 
v-if 和 v-for 搭配使用
- 当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。不推荐使用















