Vue 计算属性和监视属性

news2024/11/25 18:26:46

Vue 计算属性和监视属性

computed

computed 计算属性

规则:

  • 用已有的属性计算不存在的属性
  • 默认调用一次get()
  • 只有值不发生改变的时候才可以使用简写(函数);值发生改变 使用对象式写法,才可以配置set()方法
  • 底层原理使用 object.definProperty(目标对象,键名,{})
<div id="app">
        <input type="text" v-model="fullName">
        <input type="text" v-model="Names">
    </div>
Vue.config.productionTip = false;
    var vm = new Vue({
        el: "#app",
        data() {
            return {}
        },
        computed: {
        //标准写法 对象式
            Names: {
                get() {
                    console.log("get被调用了");
                    return 99;
                },
                set(value) {
                    console.log(value);
                    console.log("set被调用了");

                }
            },
            //简写写法 函数式  没有set值
            fullName() {
                console.log("简写的计算方法触发");
                return 99;
            }
        }
    })

watch

watch 监视属性

规则:

  • 监视已存在的属性
  • mmediate:true 默认调用一次,false不会
  • 只有handler方法可以简写;写法:监视的属性(新值,就值){}
  • 监视对象中的值需要深度监视.使用deep:true
<div id="app">
        <h1>今天的天气{{weather}}</h1>
        <h2>{{user}}</h2>
       	<h2>{{obj.id}}</h2>
        <button @click="func()">切换天气</button>
    </div>

 Vue.config.productionTip = false;
    var vm = new Vue({
        el: "#app",
        data() {
            return {
                bool: true,
                user: "",
                obj: {
                    id: 99
                }
            }
        },
        methods: {
            func() {
                this.bool = !this.bool;
            }
        },
        computed: {
            weather() {
                return this.bool ? "炎热" : "凉爽";
            }
        },
        watch: {
            bool: {
                immediate: true,
                deep:true,
                handler(newValue, oldValue) {
                    console.log('-------bool--------');
                    console.log(newValue);
                    console.log(oldValue);
                    if (newValue== true) {
                        this.user = "张三";
                    } else {
                        this.user = '李四'
                    }
                }
            },
            obj: {
                immediate: true,
                deep: true, //开启深度监视
                handler(newValue, oldValue) {
                	console.log('-------obj--------');
                    console.log(newValue);
                    console.log(oldValue);
                }

            }
            //简写
            // weather(newValue, oldValue) {
            //     console.log(newValue);
            //     console.log(oldValue);
            //     console.log(this);
            // }
        },

    })

在这里插入图片描述

这是watch的另一种写法 ,写在实例化之外

vm.$watch("user", {
        immediate: false,
        deep: false,
        handler(newValue, oldValue) {
            console.log(newValue);
            console.log(oldValue);
            console.log(this);
        }
    })

在这里插入图片描述


  • 失联

最后编辑时间 2024,03,19;17:31

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

har的编译及引用

1.创建HAR 选择文件->新建->模块&#xff0c;然后再下一个页面选择static library,之后在接下来的页面设置模块名字&#xff0c;然后下一步直到完成。 2.创建成功后在新建的模块下编写自己的代码内容。 3.编译HAR 编译默认是从Index.ets文件下进行导出&#xff0c;如果…

Flink:使用 Faker 和 DataGen 生成测试数据

博主历时三年精心创作的《大数据平台架构与原型实现&#xff1a;数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行&#xff0c;点击《重磅推荐&#xff1a;建大数据平台太难了&#xff01;给我发个工程原型吧&#xff01;》了解图书详情&#xff0c;…

用图解说明mysql 行锁加锁规则

加锁原则 原则 1&#xff1a;加锁的基本单位是 next-key lock。希望你还记得&#xff0c;next-key lock 是前开后闭区间。原则 2&#xff1a;查找过程中访问到的对象才会加锁。优化 1&#xff1a;索引上的等值查询&#xff0c;给唯一索引加锁的时候&#xff0c;next-key lock …

Linux---基本操作命令之用户管理命令

1.1useradd 添加新用户 root用户&#xff1a;/root 普通用户&#xff1a;/home/ 创建的用户还是david&#xff0c;只是在dave文件夹下 1.2 passwd 设置密码 给用户tony设置密码: 123456 1.3 id 查看用户是否存在 查看有没有这个用户&#xff1a;id 名字 gid&#xff1a;用…

当人工智能无处不在

以下文章来源&#xff1a;新华社 2024年度的“西南偏南”多元创新大会和艺术节8日至16日在得克萨斯州首府奥斯汀举行。在今年的数百场讲座或沙龙讨论中&#xff0c;热度最高、讨论最多的前沿话题不难猜——人工智能&#xff08;AI&#xff09;。 焦点高度发散。从太空探索到音乐…

【windows】Python文件打包成dll文件及遇见的问题

最近需要将py文件转为dll&#xff0c;特此记录。 操作步骤来自于&#xff1a;将Python文件发布成DLL并调用 写一个py文件 文件名&#xff1a;test_numpy.py import numpy as npdef func(my_list1, my_list2):list_np1 np.array(my_list1)list_np2 np.array(my_list2)retur…

Visual Studio 2013 - 输出窗口一闪而过问题解决

Visual Studio 2013 - 输出窗口一闪而过问题解决 1. Visual Studio Console 一闪而过问题解决1.1. set Debug1.2. set Release References 1. Visual Studio Console 一闪而过问题解决 工程 -> 属性 -> 配置属性 -> 链接器 -> 系统 -> 子系统 -> 下拉框 -&g…

机器视觉系统选型-镜头参数

镜头参数&#xff1a; 光圈&#xff1a;光圈是一个用来控制镜头通光量的装置 &#xff0c;表示光圈大小我们是用光圈值&#xff08;F值&#xff09; &#xff0c;如F1.4&#xff0c;F2&#xff0c;F2.8 焦距&#xff08;Focus&#xff09;&#xff1a;透镜中心到其焦点的距离 景…

crossover虚拟机 crossover软件干嘛的 虚拟机软件的使用方法 mac虚拟机装windows

与传统的虚拟机软件&#xff08;如VMware、VirtualBox&#xff09;相比&#xff0c;CrossOver具有更高的运行效率和更好的用户体验。因为它并不创建一个完整的Windows虚拟机&#xff0c;而是仅模拟应用程序所需的运行环境。这使得CrossOver在启动和运行Windows应用程序时更加快…

平衡计分卡:企业/产品绩效管理的金钥匙

一、摘要 在企业管理领域&#xff0c;有一个广为流传的箴言&#xff1a;“衡量什么&#xff0c;得到什么。”这句话道出了衡量与结果之间的紧密关系。企业若想要取得理想的绩效&#xff0c;就必须建立科学、合理的衡量体系。而平衡计分卡&#xff0c;正是这样一套能够全面、系…

#Ubuntu(修改root信息)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;命令行终端&#xff1a; a.右键&#xff0c;open terminal b.快捷键 ctrlaltt &#xff08;2&#xff09;进行root修改 sudo passwd &a…

【09】进阶JavaScript事件循环Promise

一、事件循环 浏览器的进程模型 何为进程? 程序运行需要有它自己专属的内存空间,可以把这块内存空间简单的理解为进程 每个应用至少有一个进程,进程之间相互独立,即使要通信,也需要双方同意。 何为线程? 有了进程后,就可以运行程序的代码了。 运行代码的「人」称之…

【web世界探险家】HTML5 探索与实践

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更新的动力❤️ &…

【MySQL | 第五篇】MySQL事务总结

文章目录 5.MySQL事务5.1什么是事务&#xff1f;5.2什么是数据库事务&#xff1f;5.3数据库事务四大特性5.4并发事务带来的问题及解决方案&#xff1f;5.4.1脏读/不可重复读/幻读5.4.2不可重复读和幻读有什么区别&#xff1f;5.4.3解决并发事务带来的问题&#xff08;1&#xf…

windows服务器iis更换彻底删除 原443 ssl证书以及一个服务器运行多个独立域名网站并绑定多个证书的方法

服务器上的433 ssl证书,可以让网站以https加密方式访问,但是这个证书会占用443端口,iis7版本,只能安装一个443证书,所以.原来的过期了.需要删除.删除方式,不是进运行 winr的mmc 而是进iis的默认的总的主页面板(不是点击具体的网站或者程序池),点击服务器证书.进去才能删除.否则…

5G网络架构及技术(一):入门级介绍

参考资料&#xff1a; [1] 5G网络架构&#xff0c;March 15, 2020 / By Adnan Ghayas [2] 5G应用场景&#xff0c;June 2, 2021 / By Adnan Ghayas [3] 独立和非独立5G网络&#xff0c;September 19, 2020 / By Adnan Ghayas 5G网络架构&#xff08;一&#xff09;&#xff1a;…

人类与AI:谁做出最好的决定?

此为看完视频Humans vs. AI: who makes the best decisions?后的笔记。 对于不同的任务&#xff0c;AI和人类各有擅长。 在本视频中&#xff0c;作者具化到了一个欺诈检测系统。欺诈检测系统会生成潜在欺诈交易的警报&#xff0c;金融分析师会审查每个警报。但每天都会生成数…

Javascript的Execution Context

概要 本文主要通过一个实例&#xff0c;来理解什么是Javascript中的Execution Context&#xff0c;以及在JavaScript执行过程中&#xff0c;Execution Context是如何工作的。 基本概念 事实上&#xff0c;我们可以理解为JavaScript代码在一个盒子中执行&#xff0c;而这个盒…

IDC:2027年中国网络安全市场规模将超200亿美元

IDC于近日发布了2024年V1版IDC《全球网络安全支出指南》(IDC Worldwide Security Spending Guide)。IDC数据显示&#xff0c;2022年全球网络安全IT总投资规模为1890.1亿美元&#xff0c;并有望在2027年增至3288.8亿美元&#xff0c;五年复合增长率&#xff08;CAGR&#xff09;…

阅读笔记(CVPR2020)Warping Residual Based Image Stitching for Large Parallax

基于变形残差的大视差图像拼接 K. -Y. Lee and J. -Y. Sim, "Warping Residual Based Image Stitching for Large Parallax," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), Seattle, WA, USA, 2020, pp. 8195-8203, doi: 10.1109/…