Vue 计算属性 computed 传参方式

背景:

计算属性在依赖值不变的情况下,结果是会缓存数据的;methods中定义的方法调用则不会缓存。所以计算属性相对函数来说性能更好一些。

计算属性的传参方式:

1. 如果使用类似函数的调用传参方式,会报如下错误:

如下是错误操作:

data() {
    return {
        data: [{id: 1},{id: 2}]
    }
}

computed: {
    testComputed(val) {
        return this.data[val]
    }
}

created() {
    this.testComputed(0)
}

2. 正确使用方式(写成闭包的形式):

data() {
    return {
        data: [{id: 1},{id: 2}]
    }
}

computed: {
    testComputed() {
          return val => {
                return this.data[val]
          }
    },
}

created() {
    console.log(this.testComputed(0))  // { "id": 1 }
}

版权声明:本文为weixin_61625219原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。