• 071——VUE中vuex之使用getters计算每一件购物车中商品的总价


    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vuex之使用getters计算每一件购物车中商品的总价</title>
        <script src="vue.js"></script>
        <script src="vuex.js"></script>
    </head>
    <body>
    <div id="demo">
        <footer-cart></footer-cart>
        <Lists></Lists>
    
    </div>
    <script type="text/x-template" id="Lists">
        <div>
            <h1>购物车</h1>
            <table border="1">
                <tr>
                    <th>编号</th>
                    <th>名称</th>
                    <th>价格</th>
                    <th>数量</th>
                    <th>总计</th>
                </tr>
                <tr v-for="v in goods">
                    <td>{{v.id}}</td>
                    <td>{{v.title}}</td>
                    <td>{{v.price}}</td>
                    <td>
                        <input type="text" v-model="v.num">
                    </td>
                    <td>{{v.totalPrice}}</td>
                </tr>
            </table>
    
        </div>
    </script>
    <script type="text/x-template" id="footerCart">
        <div>
            总计:{{totalPrice}}
        </div>
    </script>
    <script>
        let Lists = {
            template: "#Lists",
            computed: {
                goods() {
                    return this.$store.getters.goods;
                }
            }
        }
        let footerCart = {
            template: "#footerCart",
            computed: {
                totalPrice() {
                    return this.$store.getters.totalPrice;
                }
            }
        }
        let store = new Vuex.Store({
            state: {
                goods: [
                    {id: 1, title: 'ihpone7', price: 100, num: 3},
                    {id: 2, title: 'vivo20', price: 100, num: 2}
                ]
            },
            getters: {
                //获取商品总价:
                totalPrice: state => {
                    let totalPrice = 0;
                    state.goods.forEach((v) => {
                        totalPrice += v.num * v.price;
                    });
                    return totalPrice;
                },
                goods(state) {
                    let goods = state.goods;
                    goods.forEach((v) => {
                        v.totalPrice = v.num * v.price;
                    })
                    return goods;
                }
            }
        });
        var app = new Vue({
            el: "#demo",
            store,
            components: {
                Lists,footerCart
            }
        });
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    JVM 重排序
    Dispatcher & Redirect
    Struts2-ActionContext
    eclipse+tomcat+maven debug的时候总是出现source not found /Edit lookup path...的问题解决方案
    web Listener
    优质博客
    IDEA中jdk设置
    chrome json插件
    IDEA快速复习
    MarkDown编辑器下载
  • 原文地址:https://www.cnblogs.com/yiweiyihang/p/8379468.html
Copyright © 2020-2023  润新知