在vue中的html標籤{{}}內可以呼叫函式方法
今天領導提個需求,要求在金額上強制保留兩位小數,本想著後臺直接返回資料時,帶著兩位的小數,前端只是做個顯示作用,後臺說保留了小數但在傳輸過程中去掉了,可能他們做了格式轉化。沒辦法了只能又是我們前端操作了,牽扯價錢的太多了,很多時候又有for 迴圈,怎麼辦呢?
思路:{{}}裡面的是一個表示式,可不可以是個函式呢?經測試是可以的,具體實現方法如下:
- 寫一個公共的強制保留兩位小數的js方法
function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f)) { return false } var f = Math.round(x * 100) / 100 var s = f.toString() var rs = s.indexOf('.') if (rs < 0) { rs = s.length s += '.' } while (s.length <= rs + 2) { s += '0' } return s } export default { toDecimal2 }
在main.js中引用:
import newPrice from './config/api'
引用:
<div class="price">¥{{newPrice(item.price)}}</div>
效果:
