计算属性 用于需要用的数据不存在,通过已有的数据计算出来的时候使用
对于任何逻辑复杂的计算,或者计算结果需要被缓存,都应该使用计算属性。
计算属性需要写在 computed 方法中,底层借助了 Object.defineproperty 的方法提供的 getter 和 setter 实现的。
直接上代码吧:
const vm = new Vue({ el: "#APP", data(){ return { firstName: "张", lastName: "三" } }, computed:{ fullName:{ get(){ console.log("get被调用了"); console.log(this); // Vue return this.firstName + '-' + this.lastName; }, set(newValue){ console.log("set被调用了"); console.log(newValue); let name = newValue.split("-"); this.firstName = name[0]; this.lastName = name[name.length - 1]; } } }, });
计算属性与methods区别:
computed是带缓存的,如果被依赖的交量不发生变化,则下次调用computed时不会重新计算结果。但是methods,则是每次调用都会重新运行以得出实时的结果。
methods调用需要加()
代码如下:
import{computed,ref } from' vue" ; export default { setup(){ const count = ref(0); //声明 const computed = computed (() =>{ return count. value * 2; });
原创作者:吴小糖
创作时间:2023.2.9