Vue computed带参数

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'
			 } 
	    }
  },

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