计算属性和监听器

news/2025/3/29 18:30:47/文章来源:https://www.cnblogs.com/wenjie001/p/18793815
<body>
    <div id="app">
        <ul>
            <li v-for="(item, index) in car" :key="index">品牌:{{item.name}}-----价格:{{item.price}}-------数量:{{item.count}}
                <input type="text" v-model="item.count">
                ----------------剩余库存:{{item.stock}}
            </li>
            <p v-html="warn()"></p>
        </ul>

        <h1>总价格:{{totalPrice}}</h1>{{carsum}}

    </div>
</body>

</html>
<script src="../node_modules/vue/dist/vue.js"></script>

<script>
    let vue = new Vue({
        el: app,
        data() {
            return {
                car: [
                    { name: "奔驰", price: 100, count: 12, stock: 100 },
                    { name: "宝马", price: 200, count: 31, stock: 100 },
                    { name: "奥迪", price: 300, count: 21, stock: 100 },
                    { name: "特斯拉", price: 400, count: 5, stock: 100 },
                    { name: "五菱宏光", price: 500, count: 10, stock: 100 },
                ],
                totalPrice: 0,//总价格
            }
        },
        methods: {
            //warn
            warn() {
                let msg = "";
                this.car.forEach(item => {
                    if (item.count > item.stock) {
                        msg += item.name + "库存不足" + "<br>";
                    }
                })
                return msg;
            }
        },
        computed: {
            //   计算属性,只会调用一次,当依赖的值发生变化时,才会重新计算
            //     计算属性会缓存,当依赖的值没有发生变化时,不会重新计算
            carsum() {
                let sum = 0;
                this.car.forEach(item => {
                    sum += item.price * item.count;
                    this.totalPrice = sum;
                })

            }
        },
        // 监听器,当监听的值发生变化时,会调用handler函数
        watch: {
            car: {
                handler(newValue, oldValue) {
                    newcar = [
                        { name: "奔驰", price: 100, count: 12, stock: 100 },
                        { name: "宝马", price: 200, count: 31, stock: 100 },
                        { name: "奥迪", price: 300, count: 21, stock: 100 },
                        { name: "特斯拉", price: 400, count: 5, stock: 100 },
                        { name: "五菱宏光", price: 500, count: 10, stock: 100 },
                    ]
                    oldcar = [{ name: "奔驰", price: 100, count: 12, stock: 100 },
                    { name: "宝马", price: 200, count: 31, stock: 100 },
                    { name: "奥迪", price: 300, count: 21, stock: 100 },
                    { name: "特斯拉", price: 400, count: 5, stock: 100 },
                    { name: "五菱宏光", price: 500, count: 10, stock: 100 },]
                    newValue.forEach((item, index) => {
                        if (item.count > oldcar[index].stock) {
                            item.count = oldcar[index].stock;
                            newcar[index].count = oldcar[index].stock;
                        }


                    })
                    this.car.forEach((item, index) => {
                        item.stock = newcar[index].stock - item.count;
                    })

                },
                deep: true
            }
        }
    })
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906174.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

postman 免登录使用

取消Help下面的所有勾选 重启即可I have a dream : Sandy beach B-J-N.

不同板卡间的同步序列出峰问题

简述 使用两块不同板卡,对前导ZC序列一收一发,在接收板上做本地相关,相关结果显示相关性有延迟,目前推测为射频滤波器问题。 异常情况 目前有一套FMQL45T900+CX9261s的板卡,运行OFDM波形进行灵敏度测试。由于只有一套,且收发隔离度仅有约50dB,导致无法在自回环的情况下进…

dl380 gen10微码升级

一、Updating the BIOS and/or iLO firmware using the iLO web interface 1、 通过浏览器登录iLO 5,在Firmware & OS Software页面选择Update Firmware。 2、选择Local file,将已保存至本地的固件文件挂载到选择文件处。3、 点击Flash,阅读更新提示,确认无误后点击OK即…

ThreeJs-16智慧城市项目(重磅以及未来发展ai)

![GIF](https://img2023.cnblogs.com/blog/2680817/202503/2680817-20250303164902745-1619665311.gif)项目源码:https://gitee.com/hq8466/threecity-com 写在前面:很早就弄完了的,只是一直说挑个黄道吉日发上来,托了这么久也没选到什么节日,今天天气不错就发了吧,然后后…

什么是最小权限原则?

一、最小权限原则是什么? 随着网络威胁变得越来越复杂,对强大安全实践的需求在现代企业运营中已根深蒂固。组织致力于保护他们的数据,无论是添加额外的验证层、加密信息还是控制网络流量。最小权限原则 (PoLP) 就是这样一种安全实践,它已成为整个组织的基本实践,无论其性…

易基因:m5C RNA甲基化测序(m5C MeRIP-seq)

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 m5C是RNA百余种修饰中研究较多的一种。m5C存在于tRNA上时,可以对翻译进行调节;存在于rRNA上时,可以对核糖体的生物合成进行质控;存在于mRNA上时,则可以影响mRNA的结构、稳定性及翻译过程。 m5C RNA修饰的…

压测实践案例

压测如何判断是依赖服务瓶颈 背景:优化网关代码,通过压测针对异常指标判断瓶颈 1.当发现响应曲线上升。2.简单方式使用另外一个接口轮询服务在冒尖的时候判断是否是服务异常 第一组 第二组第三组第四组

基于Python程序访问本地部署的DeepSeek和硅基流动DeepSeek API

基于Python程序访问本地部署的DeepSeek和硅基流动DeepSeek API前排提醒: 1. 本地通过Ollama部署DeepSeek,部署版本为 deepseek-r1:1.5b,若还未进行本地部署,可以参考博客Windows系统上使用Ollama本地部署DeepSeek 2. 线上API使用的是硅基流动(siliconflow)的DeepSeek API…

supOS蓝卓工业互联网与iNeuOS工业互联网操作系统对比

最近有一个企业正在调研工业互联网平台,其中调研的是supOS蓝卓工业互联网和iNeuOS工业互联网操作系统。让我们给出一个对比情况表,我们自己总结了一份,由于不太了解supOS,于是也问了deepseek。 最近有一个企业正在调研工业互联网平台,其中调研的是supOS蓝卓工业互联网和…

ASE2N50-ASEMI工业电源专用ASE2N50

ASE2N50-ASEMI工业电源专用ASE2N50编辑:ll ASE2N50-ASEMI工业电源专用ASE2N50 型号:ASE2N50 品牌:ASEMI 封装:TO-220F 批号:最新 最大漏源电流:2A 漏源击穿电压:500V RDS(ON)Max:5.0Ω 引脚数量:3 沟道类型:N沟道MOS管、中低压MOS管 漏电流:ua 特性:N沟道MOS管、…

Hack The Box-Cap靶机

该靶机通过信息收集拿到大致信息,利用IDOR访问控制缺陷漏洞获得目标流量包,通过流量分析获取到ftp流量包存在用户名密码,可以ftp登录/ssh登录拿到第一个flag,利用linpeas.sh内网收集工具得到python存在UID提权漏洞,查看ctfobins提权,在/root下发现第二个flag靶机信息一、…