亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue.js框架實現(xiàn)購物車功能

 更新時間:2021年06月28日 10:48:36   作者:涉水的小菜嘰  
這篇文章主要為大家詳細介紹了Vue.js框架實現(xiàn)購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Vue.js框架實現(xiàn)購物車的具體代碼,供大家參考,具體內(nèi)容如下

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">

    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script src="../lib/vue.min.js"></script>
    </head>

    <body>

        <div id="app" style="position: relative;left: 30%">
            <table cellpadding="10">
                <thead>
                    <th><input type="checkbox" v-model="cb" v-on:click="allSelect">全選</th>
                    <th>名稱</th>
                    <th>單價</th>
                    <th>數(shù)量</th>
                    <th>金額</th>
                    <th>操作</th>
                </thead>

                <tbody>
                    <tr v-for="x in info">
                        <td><input type="checkbox" v-model="x.bol" v-on:click="sign()"></td>
                        <td>{{x.name}}</td>
                        <td>{{x.price}}</td>
                        <td><input type="number" v-model="x.num" min="0" style="width: 50px;text-align: center" v-on:click="count(x)" v-on:change="count(x)"></td>
                        <td>{{x.total}}</td>
                        <td><button v-on:click="del(x)">刪除</button></td>
                    </tr>
                </tbody>
            </table>

            <Br>
            <p>總金額:{{all}}</p>
        </div>

        <script>
            var vm = new Vue({
                el: "#app",
                data: {
                    all: 0,
                    cb: false,
                    info: [{
                        bol: false,
                        name: "iphone7",
                        price: 6000,
                        num: 1,
                        total: 6000
                    }, {
                        bol: false,
                        name: "榮耀6x",
                        price: 1200,
                        num: 1,
                        total: 1200
                    }, {
                        bol: false,
                        name: "dell筆記本",
                        price: 4000,
                        num: 1,
                        total: 4000
                    }]
                },
                methods: {
                    //計算單價
                    count: function(obj) {
                        for(var i = 0; i < this.info.length; i++) {
                            //
                            if(this.info[i] == obj) {
                                this.info[i].total = obj.price * obj.num;
                            }
                            //如果被選中了,就計算總價格
                            if(obj.bol) {
                                this.allSelect();
                            }
                        }
                    },
                    //刪除
                    del: function(obj) {
                        this.info.splice(this.info.indexOf(obj), 1)
                        this.allCount();
                    },

                    //單選
                    sign: function() {
                        this.allCount();
                    },
                    //全選
                    allSelect: function() {

                        for(var i = 0; i < this.info.length; i++) {
                            this.info[i].bol = this.cb;
                        }
                        this.allCount();
                    },
                    //計算總價
                    allCount: function() {
                        //每次計算總價都要清空
                        this.all = 0;
                        for(var i = 0; i < this.info.length; i++) {
                            //計算被選中的商品
                            if(this.info[i].bol) {
                                this.all += this.info[i].total;
                            }
                        }
                    }

                }
            })
        </script>
    </body>

</html>

效果圖:

更多文章可以點擊《Vue.js前端組件學習教程》學習閱讀。

關(guān)于vue.js組件的教程,請大家點擊專題vue.js組件學習教程進行學習。

更多vue學習教程請閱讀專題《vue實戰(zhàn)教程》

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue 3項目如何安裝Element-Plus

    Vue 3項目如何安裝Element-Plus

    Element Plus 是一個基于 Vue 3 的現(xiàn)代前端UI框架,它旨在提升開發(fā)體驗,并為開發(fā)者提供高效、優(yōu)雅的組件,在本文中將詳細介紹如何在 Vue 3 項目中安裝 Element Plus,感興趣的朋友一起看看吧
    2024-07-07
  • Vue之data定義的三種方式及區(qū)別說明

    Vue之data定義的三種方式及區(qū)別說明

    這篇文章主要介紹了Vue之data定義的三種方式及區(qū)別說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue.js遞歸組件構(gòu)建樹形菜單

    Vue.js遞歸組件構(gòu)建樹形菜單

    這篇文章主要介紹了用Vue.js遞歸組件構(gòu)建一個可折疊的樹形菜單的教學內(nèi)容,有興趣的朋友跟著學習下。
    2017-12-12
  • Vue項目中使用vuex詳解

    Vue項目中使用vuex詳解

    Vuex是一個專為Vue.js應用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲管理應用的所有組件的狀態(tài),并以相應的規(guī)則保證狀態(tài)以一種可預測的方式發(fā)生變化,下面這篇文章主要給大家介紹了關(guān)于vuex模塊獲取數(shù)據(jù)及方法的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 關(guān)于Nuxt的五種渲染模式的差異和使用場景全解析

    關(guān)于Nuxt的五種渲染模式的差異和使用場景全解析

    這篇文章主要介紹了關(guān)于Nuxt的五種渲染模式的差異和使用場景全解析,在過去傳統(tǒng)開發(fā)中,頁面渲染任務是由服務端完成的,那么Nuxt是如何渲染的呢,需要的朋友可以參考下
    2023-04-04
  • 基于Vue和Element-Ui搭建項目的方法

    基于Vue和Element-Ui搭建項目的方法

    這篇文章主要介紹了基于Vue和Element-Ui搭建項目的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • 一文詳解Vue中的虛擬DOM與Diff算法

    一文詳解Vue中的虛擬DOM與Diff算法

    vue中的diff算法時常是面試過程中的考點,本文將為大家講解何為diff以及diff算法的實現(xiàn)過程,那么在了解diff之前,我們需要先了解虛擬DOM是什么,需要的朋友可以參考下
    2024-02-02
  • vue webpack多頁面構(gòu)建的實例代碼

    vue webpack多頁面構(gòu)建的實例代碼

    這篇文章主要介紹了vue webpack多頁面構(gòu)建的實例代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-09-09
  • Vue解決element-ui消息提示$message重疊問題

    Vue解決element-ui消息提示$message重疊問題

    這篇文章主要為大家介紹了Vue解決element-ui消息提示$message重疊問題,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • vue3.0中使用element UI表單遍歷校驗問題解決

    vue3.0中使用element UI表單遍歷校驗問題解決

    本文主要介紹了vue3.0中使用element UI表單遍歷校驗問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-04-04

最新評論