在Vue3的组合式 API 中computed传参使用方法

一、使用方法:
template中:
v-hasPermi=“[‘spec:operating-decision:library’]”
link
type=“primary”
:disabled=“computedLibrary(scope.row.id)
@click=“handleDelete(scope.row.id)”
>
xxx

js中:
const computedLibrary = computed(() => {
return (id: number) => {
const menu = oriList.value.find((item) => item.parentId === id)
return !(menu && menu.naturePlan.includes(‘02’))
}
})
二、原理
在 Vue 3 的组合式 API 中,computed本身并不直接支持传参。computed通常用于创建一个计算属性,该属性依赖于其他响应式数据,并且在依赖的数据发生变化时自动重新计算。
然而,如果你需要一个计算属性根据传入的参数返回不同的结果,可以使用一个返回函数的计算属性。这种方法允许你在调用计算属性时传递参数。
实现方法
1.创建一个返回函数的计算属性

  • 使用computed创建一个计算属性,该计算属性返回一个函数
  • 这个返回的函数可以接受参数,并根据参数返回相应的结果。
    2.在模板中调用计算属性
  • 在模板中调用计算属性时,实际上是调用返回的函数,并传递所需的参数

你可能感兴趣的:(vue.js,javascript,前端)