在学习vue的过程中我陷入一个误区,以为计算属性不能和methods一样传递参数。
但在做项目的过程中,我遇到不得不用计算属性属性的情况,但发现计算属性直接传递参数会报错。如下用计算属性返回格式化后的时间,这么写是不行的会报错。
<td>
<p>
{{formarSongsTime(val.dt)}}
</p>
</td>
computed: {
formarSongsTime(res) {
return this.utils.formarSongsTime(res)
}
}
但是如果使用闭包的形式神奇的发现居然可以,如下:
<td>
<p>
{{formarSongsTime(val.dt)}}
</p>
</td>
computed: {
formarSongsTime() {
return function(res) {
return this.utils.formarSongsTime(res)
}
}
}