vue computed传参
时间: 2023-11-03 09:01:50 浏览: 178
vue路由传参 vue路由传参
5星 · 资源好评率100%
在Vue中,computed计算属性是不能直接传递参数的。这是因为computed计算属性在渲染开始时就会被计算并保存在缓存中,只有涉及到的数据发生变动时才会重新计算。因此,computed计算属性不需要传参,可以像普通属性一样在DOM中调用。
然而,如果你非要传递参数,你可以使用JavaScript的闭包来实现。你可以在computed属性里返回一个函数,并在这个函数内使用闭包来接受参数。下面是一个示例:
```javascript
var vm = new Vue({
el: '#app',
data: {
base: 0
},
computed: {
add: function() {
return function(param) { // 返回一个函数
alert("add");
return this.base + param; // 在闭包中使用参数和数据
}
}
}
})
```
在上面的例子中,我们将参数 `param` 传递给了computed属性 `add` 返回的函数,然后在闭包中使用了这个参数和数据 `base` 进行计算。
请注意,由于闭包中的作用域问题,我们需要使用箭头函数或将闭包函数保存在一个变量中来确保 `this` 的指向正确。
阅读全文