1.在商品訂單計算商品價格的時候老覺得押金加不上去。愛掏網 - it200.com后來用了number強轉,將類型強轉為數值類型才解決問題
data() { return{ // 支付數值統計 statistic:[], coupon_money:0,//可抵扣優惠價 real_total:0,//商品實付金額 } //計算變量,避免在html寫入冗長計算式 computed: { total() { return Number(this.statistic.all_price) + Number(this.statistic.all_deposit_price) + Number(this.statistic.delivery_price) - Number(this.coupon_money) } //實時監聽計算變量的變化 watch: { total(val) { this.real_total=val console.log("total:",val,this.statistic.all_price,this.statistic.all_deposit_price,this.statistic.delivery_price,this.coupon_money ) }
2.總結一下uni-app引用到vue的一些優點:
先封裝一個函數計算mixin.js然后將其導出,在引用的文件里導入即可正常使用,主要用于將數值分割成整數和小數兩部分,如果數值為整數,小數部分補零:
const tools = { data() { return { buttons: { 0: { cancel: true, pay: true, flag: "UNPAID", desc: "未支付" }, 1: { cancel: true, flag: "UNCONFIRMED", desc: "待確認" }, 2: { viewOrders: true, flag: "UNSHIPPED", desc: "待發貨" }, 3: { viewOrders: true, flag: "SHIPPED", desc: "已發貨" }, 4: { delete: true, viewOrders: true, flag: "COMPLETED", desc: "已收貨" }, 5: { viewOrders: true, flag: "SERVICING", desc: "售后中" }, 9: { delete: true, viewOrders: true, flag: "BANKING", desc: "已存酒庫" }, 10: { delete: true, viewOrders: true, flag: "CANCELED", desc: "已取消" }, 11: { delete: true, viewOrders: true, flag: "AUTOCANCELED", desc: "系統自動取消" }, } } }, methods: { getInteger(val) { val = val ? Number(val) : 0; return val.toFixed(2).split(".")[0] }, getDecimal(val) { val = val ? Number(val) : 0; return val.toFixed(2).split(".")[1] }, } } export default tools
3.在需要引用上面方法的文件夾里導入使用方式:
import tools from "@/mixins/mixin.js"; components: { uniIcon,uniPopup,uniDrawer }, mixins: [tools], data() { return{} }, } //然后直接在html里調用mixin.js里的方法即可: 合計:¥{{getInteger(real_total)}}.{{getDecimal(real_total)}}
?
聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。