计算属性 computed 写法:
name:{ get (){return},set(value){changevalue}}
简写形式,此时的函数就是getter
name(){
return value
}
计算属性-缓存 计算属性是基于他们的依赖项的值结果进行缓存的,只要依赖的变量不变,都直接从缓存获取结果 -开始渲染时就获取一次,然后存入缓存
注意点:计算属性也是vue数据变量,所以不要和data里的变量重名,用法和data相同不需要加括号调用
总结:一个数据,依赖另外一些数据计算而来的结果。计算属性根据依赖变量结果缓存,依赖变化重新计算结果,存入缓存,比普通方法性能更高。
侦听器watch 函数写法:可以监听简单数据类型 语法: watch:{"侦听的属性名(newVal,oldVal){newVal:修改后的值,oldVal:原来的值}"}
对象写法:启动深度侦听,可以侦听复杂数据类型。立即侦听 语法:
watch:{
侦听的属性名:{
deep:true, //深度侦听,可以侦听复杂数据类型的变化
immediate, //立即侦听
handler(val){
val获取到修改后的值}
}
}
组件:可复用vue实例对象,封装了样式结构行为资源...... 使用: 1.创建组件,封装样式结构行为资源等等 2.引入组件,那里注册就哪里引入 3.注册组件 全局注册: 在main.js中进行注册,注册完成后可以在任意的vue文件中使用该组件 语法: Vue.component(组件名,组件对象)
局部注册:在某个vue文件中进行注册,注册后只能在当前vue文件中使用 语法: components:{组件名,组件对象}
4.使用:只需要将注册的组件名当成标签使用即可
组件通信: 1.父传子: 子组件内:props定义变量,接受传入的值 父组件内:通过标签属性的放啊传入数据给子组件 --单向数据流:只能从父到子的数据流向,就叫单向数据流
2.子传父: 子组件内,在恰当的时机通过this.$emit(自定义事件名,值) 父组件内,组件标签上绑定自定义事件,通过事件处理函数接收数据