
       📝个人主页:五敷有你      
 🔥系列专栏:Vue
⛺️稳重求进,晒太阳

计算属性
概念:基于现有的数据,计算出来新的属性,依赖的数据变化,自动重新计算
语法:
- 声明在computed配置项中,一个计算属性对应一个函数
- 使用起来和普通属性一样使用{{计算属性名}}
计算属性->可以将一段求值的代码进行封装
简写:
 computed:{
            fn(){
                return parseInt(this.a)+parseInt(this.b)+parseInt(this.c);
            }
        },computed计算属性VSmethods方法
computed 计算属性
作用:封装了一段对于数据的处理,求得一个结果
语法:
- 写在computed配置项中
- 作为属性,直接使用->this.计算属性 {{计算属性}}
缓存特性:
- 计算属性会对计算出来的结果缓存,再次使用直接读取缓存,
- 依赖项变化了,会自动重新计算->并再次缓存
计算属性的完整写法:
       computed:{
            fullName:{
                get(){
                   return this.firstName+this.lastName;
                },
                set(value){
                    this.firstName=value.slice(0,1);
                    this.lastName=value.slice(1);
                    
                }
            }
        }methods方法
作用:给实例提供一个方法,调用以处理业务逻辑
语法:
写在methods配置项中
作为方法,需要调用 -> this.方法名() {{方法名()}} @事件名="方法名"
watch
作用:监视数据变化,执行一些业务逻辑或异步操作
语法:
简单写法: 简单类型数据,直接监视
  watch:{
            "obj.words" (newValue,oldValue){
                console.log(newValue)
            }
        }完整写法:添加额外的配置项
deep:true 对复杂类型进行深度监视
immediate:true 初始化立刻执行一次handler
                list:{
                    deep:true,
                    handler(newValue){
                        localStorage.setItem("list",JSON.stringify(newValue))
                    }
                }


















