关于computed返回函数用来获取参数的问题,是否影响性能?

关于computed返回函数用来获取参数的问题,是否影响性能?

其实知乎上也有过这个问题,不过没人讨论,想问问大佬们。
<template>

<ul>

<li

v-for="item in list"

:key="item.id"

:class="{active: getStatus(item) }"

></li>

</ul>

</template>

<script>
let that
export default {

   data(){

that = this

return {

num: 2

}

},

computed: {

getStatus () {

return function (item) {

return item.num* this.num > 10;

}

}

},

methods: {

getStatus (item) {

reutrn item.num* this.num > 10;

}

},

filters: {

getStatus (item) {

reutrn item.num* that.num > 10;

}

}

}
</script>
类似这样一个循环n条数据,然后根据参数来改变return的值,并且也需要用到data的内容。那么这样来说,最先想到的filter还需要定义一个that来做data读取。然后就是computed和methods。这三种方法那种最推荐呢?computed是否存在性能问题。


回答:

杀鸡焉用宰牛刀?computed通常在项目里用来计算生成一有多个变量关联的值,例如联合查询的过滤条件


回答:

因为没有依赖,所以computed只是多了一次getter,这个对性能的影响基本为0,但不建议使用computed,因为他的功能性不是在这方面的,而且这中写法也不优雅。filter和methods两个可以看作一个东西,都可以

以上是 关于computed返回函数用来获取参数的问题,是否影响性能? 的全部内容, 来源链接: utcz.com/p/935677.html

回到顶部