有時候我們在使用計算屬性的時候,需要帶參數(shù),這個時候如果這樣寫會報錯:
...
computed:{
test: function (a) {
return this.attr1+ ' ' + a
}
}
...
<a>{{ test ('aaaa')}}</a>
錯誤會提示 test不是一個function,這是因為,計算屬性要求是一個function,但是test 雖然是一個funtion 但是test ('aaaa') 已經(jīng)是一個字符串了,不是一個function。這個時候我們可以用閉包:
...
computed:{
test: function (a) {
return function () {
return this.attr1+ ' ' + a
}
}
}
...
<a>{{ test ('aaaa')}}</a>
這樣 test ('aaaa')仍然是一個function
這里還要注意,計算屬性如果寫成箭頭函數(shù)this.attr1 會undefined