国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Vue shopCart 組件開發詳解

2024-05-06 15:22:19
字體:
來源:轉載
供稿:網友

一、shopCart組件

(1) goods 父組件和 子組件 shopCart 傳參

deliveryPrice:{ // 單價 從json seller 對象數據中獲取 type:Number, default:0},minPrice:{ // 最低起送價 從json seller 對象數據中獲取 type:Number, default:20}

其中 deliveryPrice 和 minPrice 的數據都是從 data.json數據 中 seller 對象下 獲得。所以在goods 組件中還要 獲取到 seller對象 的數據,否則會報錯:

[Vue warn]: Error in render: "TypeError: Cannot read property 'deliveryPrice' of undefined"

解決方法:根組件 App.vue 中 router-view 組件獲取seller 數據,傳到 goods 組件中

1-1.app.vue (根組件 也是 goods 的父組件)

<keep-alive> <router-view :sell="sellerObj"></router-view></keep-alive>

注意:sellerObj 是data 定義 的 對象里用來接收 data.json 數據,相當于 實參

1-2.goods.vue (相對于跟組件的子組件 且 shopCart 的父組件)

通過props 屬性 進行組件之間的通信

props: {  sell: Object // 相當于 形參 },

1-3.shopCart.vue ( goods 的子組件)

<shopCart :delivery-price="sell.deliveryPrice" :min-price="sell.minPrice"></shopCart>

(2) 選中商品 的 計算功能

1-1. 傳入用戶選中商品的集合

說明:從父組件會 傳入一個用戶選中商品的 數組,數組里會存放著 n 個對象,每個對象里存放著該 商品的 價格 和 數量。

props:{       // 通過父組件傳過來的 ( 相當于形參 ) selefoodsArr:{   // 用戶選中的商品存放在一個數組里  接收的是 data.json數據的 goods(數組) type:Array, // 當父組件傳過來的 類型是對象或者 是數組時, default 就是一個函數 default (){ return []  // 返回數組 存放著選中 商品 對應的 goods下的 foods 數組(由 父組件 的 實參 決定的返回值) }}

1-2. 利用計算屬性 選中商品數量的變化,商品總價,動態改變描述等功能

computed:{ totalPrice (){     //計算總價,超過起送額度后提示可付款 let total=0   // 定義一個返回值 this.selefoodsArr.forEach((rfoods) =>{ // 遍歷 這個 goods 數組 取到 價格 和 數量 (當然在這里數據庫沒有count 這個屬性,稍后 我們會利用 vue.set() 新建一個count 屬性)  total += rfoods.price * rfoods.count // 形參 rfoods 實參 是 foods }); return total; }, totalCount (){   // //計算選中的food數量,在購物車圖標處顯示,采用絕對定位,top:0;right:0;顯示在購物車圖標右上角   let count=0 this.selefoodsArr.forEach((rfoods) =>{ // 形參 rfoods 實參 是 foods  count += rfoods.count }); return count; }, payDesc (){    //控制底部右邊內容隨food的變化而變化,payDesc()控制顯示內容,enough 添加類調整顯示樣式 let diff = this.minPrice - this.totalPrice    if (!this.totalPrice) {     return `¥${this.minPrice}起送`    } else if (diff > 0) {     return `還差¥${diff}元`    } else {     return '去結算'    } }  }            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 淄博市| 呼图壁县| 东宁县| 兰坪| 江门市| 中牟县| 东明县| 绥阳县| 安宁市| 钟祥市| 清丰县| 西乌珠穆沁旗| 东港市| 高雄县| 贵港市| 株洲县| 永济市| 田阳县| 乐业县| 习水县| 扶风县| 陵川县| 西丰县| 双城市| 缙云县| 高安市| 闽侯县| 鸡西市| 西盟| 河南省| 沙田区| 信宜市| 淮安市| 新竹市| 昂仁县| 海阳市| 凤凰县| 中卫市| 乌苏市| 唐海县| 吴忠市|