Vue computed 方法传参
时间: 2023-09-24 08:06:18 浏览: 96
VUE常用方法整理.pdf
5星 · 资源好评率100%
Vue 中的 computed 方法是一个计算属性,它会根据依赖的数据动态计算出一个新的值。computed 方法不支持传参,但可以通过定义一个带参数的方法,然后在 computed 方法中使用该方法,并传入需要的参数。
例如,假设我们有一个数组 `list` 和一个搜索关键字 `keyword`,我们想要计算出包含关键字的列表项数量,可以这样实现:
```
<template>
<div>
<input v-model="keyword" placeholder="请输入关键字" />
<p>包含关键字的列表项数量:{{ filteredList.length }}</p>
</div>
</template>
<script>
export default {
data() {
return {
list: ['apple', 'banana', 'orange', 'pear'],
keyword: ''
}
},
methods: {
filterList(keyword) {
return this.list.filter(item => item.includes(keyword)).length
}
},
computed: {
filteredList() {
return this.filterList(this.keyword)
}
}
}
</script>
```
在上面的代码中,我们定义了一个带参数的方法 `filterList`,它接受一个关键字参数,然后返回包含关键字的列表项数量。在 computed 方法中,我们调用 `filterList` 方法,并将当前的 `keyword` 作为参数传入,从而计算出过滤后的列表项数量。最终,在模板中展示这个数量即可。
阅读全文