vue的计算属性
作用:可以实现修改计算属性
使用场景:双向绑定在复选框上
语法:
computed:{
属性名:{
set(val){
val就是用户修改后的值,
用户修改计算属性的值的时候触发
},
get(){
就是计算属性函数写法的那个函数
获取或者依赖项发生改变的时候触发
}
}
}
列子案例:全选案例 -------用计算属性完成
侦听器(watch:{ }-----与 data( )同级)
函数写法:可以监听简单数据类型
语法:
watch:{
侦听的属性名:(newval,oldval){
newval:修改后的值,
oldval:原来的值
}
}
对象写法:启动深度侦听,可以侦听复杂数据类型
语法:
watch:{
侦听的属性名:{
depp:true ,//启动深度侦听,必须写,
handler(val){val获取到修改后的值}
}
}
案例:品牌管理案例-----利用侦听器缓存数据
组件
可以复用vue实列(vue文件),封装了结构样式和行为
组件的创建和使用
1、创建组件,封装样式结构和行为
2、引入组件(哪里注册就在哪里引用)
3、注册组件:
3-1、全局注册:在main.js中进行注册,注册完成后可以在任意的vue文件中使用该组件
语法:Vue.component(组件名,组件对象)
3-2、局部注册:在某个vue中进行注册,注册后只能在当前vue文件中使用
语法:components:{组件名:组件对象}
4、使用:只需要将注册的组件名当成标签使用即可
5、组件通信
5-1:父传子
1、子组件内,props定义变量,接受传入的值
2、父组件内,通过标签属性的方法传入数据给子组件
(单项数据流:只能从父到子的数据流向,就叫做单项数据流)
5-2:子传父
1、子组件内,在恰当的时机通过 this.$emit(自定义事件并传值)
2、父组件内,组件标签上绑定自定义事件,通过事件处理函数接收数据
\