Vue computed带参数
一般情况下,我们在Vue中使用computed计算属性是无法直接进行传参的。
方法:如果有传参数的需求可以通过闭包函数(也叫匿名函数)来实现。
例如需要通过数据的大小,动态改变div的宽度
<div v-for="(item, index) in mydata" :key="index">
<span :style="barWidth(item)"></span>
</div>
<script>
export default {
data(){
retrun {
mydata:[110,120,130,140,150,160,170,180,190,1100]
}
}
computed: {
barWidth() {
return function (item) {
//主要思想是通过此处的闭包来实现
const style = {
};
style.height = item + 'px';
return style;
};
},
},
}
</script>
如果是在template中使用,同理
<div>Computed some message: {
{
myComputed('55555') }}</div>
computed: {
myComputed: function () {
return (parameter)=>{
return this.message + '666666'
}
}
},