Vue 计算属性和监视属性

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.mfbz.cn/a/470037.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

threejs之贴图原理

// 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";// 创建场景 const scene new THREE.Scene();// 创建相机 const camera new THREE.PerspectiveCame…

ATFX汇市:日本央行终于启动加息,负利率政策宣告终结

ATFX汇市&#xff1a;3月19日&#xff0c;日本央行利率决议宣布&#xff0c;将基准利率从-0.1%提高至0~0.1%&#xff0c;这是日本央行2007年3月份以来的首次加息&#xff0c;结束了2016年以来的负利率政策。日本央行还宣布&#xff0c;在保持长期国债月购买额基本不变的前提下&…

神经网络介绍

神经网络是由若干神经元相互连接而成&#xff0c;如下图所示&#xff1a; 以数学公式的形式将神经元串联起来&#xff0c; 串联的神经元似乎只有传递的作用&#xff0c;那么 一根和多根似乎没有区别。&#x1d467;1 _&#x1d44f;1 _&#x1d464;11(&#x1d44f;1 &…

Java-SpringAop 编程式事物实现

SpringAop 编程式事物实现 1. 数据库事物特性 原子性 多个数据库操作是不可分割的&#xff0c;只有所有的操作都执行成功&#xff0c;事物才能被提交&#xff1b;只要有一个操作执行失败&#xff0c;那么所有的操作都要回滚&#xff0c;数据库状态必须回复到操作之前的状态 …

力扣1. 两数之和

思路&#xff1a;用一个map存放 已遍历过的元素和下标&#xff1b; 若当前元素是nums[i], 且该元素的另一半 target-nums[i] 在已遍历过的map里面&#xff0c;则返回两个元素的下标&#xff1b; class Solution {public int[] twoSum(int[] nums, int target) {int[] ans new…

C++ 离散与组合数学之多重集合

1. 前言 数论是计算机学科的基础&#xff0c;将以一系列文章讨论组合数学中的一些概念&#xff0c;包括多重集合、等价类、多重集上的排列、错排列、圆排列、鸽巢原理、二项式定理、容斥原理、卡特兰数。 本文主要是讨论集合以及多重集合的概念以及多重集合上的排列问题。集合…

开发微信小程序被鹅厂背刺

最近在开发微信小程序&#xff0c;没来得及更文。等开发完成后&#xff0c;给大家写保姆帖系列。刚刚看到一张动图&#xff0c;忍不住分享给大家。属实反映了鹅厂风格了。

文件上传基础篇

文件上传基础篇 文件上传漏洞原理 ​ 目标网站存在文件上传接口&#xff0c;但是对用户上传的文件没有做仔细甄别&#xff0c;导致黑客可以根据此功能点直接上传木马到网站服务器&#xff0c;造成危害 文件上传存在点 ​ 通常有头像上传&#xff0c;pdf上传 文件上传防护 …

Word为图表设置图注并在图表清单中自动生成

1如果需要自动插入题注&#xff0c;请不要自己为文件增加新的标题样式或删除自带的标题1样式 2章节大标题最好是标题1&#xff0c;2,3而不要设置标题一、二、三&#xff0c;否则图例在自动生成时会显示 图一 -1&#xff0c;调整起来会非常不方便 若实在要使用大写中文标题&…

【隐私计算实训营-001数据可信流通,从运维信任到技术信任】

1. 数据可信流通体系 信任的基石&#xff1a; 身份的可确认利益可依赖能力有预期行为有后果 2.内循环——>外循环 内循环&#xff1a;数据持有方在自己的运维安全域内队自己的数据使用和安全拥有全责。 外循环&#xff1a;数据要素在离开持有方安全域后&#xff0c;持有方…

FX-数组的使用

1一维数组 1.1一维数组的创建和初始化 1.1.1数组的创建 //代码1 int arr1[10]; char arr2[10]; float arr3[1]; double arr4[20]; //代码2 //用宏定义的方式 #define X 3 int arr5[X]; //代码3 //错误使用 int count 10; int arr6[count];//数组时候可以正常创建&#xff1…

【Linux】进程排队的理解进程状态的表述僵尸进程和孤儿进程的理解

一、进程排队的理解 进程不是一直运行的&#xff0c;进程可能会在等待某种软硬件资源。即使把进程加载到CPU中&#xff0c;也不是一直会运行的。而进程排队&#xff0c;一定是在等待某种软硬件资源&#xff08;可以是CPU&#xff0c;键盘&#xff0c;磁盘&#xff0c;网卡等等设…

Android Studio实现内容丰富的安卓图书馆座位图书预约系统

获取源码请点击文章末尾QQ名片联系&#xff0c;源码不免费&#xff0c;尊重创作&#xff0c;尊重劳动 项目编号109 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端&#xff1a; 1.注册登录 2.查看公告 3.查看图书馆座位 4.查看图书馆图书&#xff0c…

k8s详细教程

Kubernetes详细教程 1. Kubernetes介绍 1.1 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物理机上 优点&#xff1a;简单&#xff0c;不需要其它技术的参与 缺点…

《1w实盘and大盘基金预测 day7》

昨日预测有点差劲&#xff0c;最低点也相差五个点。 打分C 公众号&#xff1a;JavaHelmet 昨天预测&#xff1a; 3052-3062-3076-3115 3067是趋势线&#xff0c;有回踩需求 5-30-60分钟级别顶钝 大盘冲到标红的点位3115或者3100就需注意。不要随意追高&#xff08;最高309…

第四百一十一回

文章目录 1. 概念介绍2. 思路与方法2.1 实现思路2.2 实现方法 3. 示例代码4. 内容总结 我们在上一章回中介绍了"给geolocator插件提交问题的结果"相关的内容&#xff0c;本章回中将介绍自定义标题栏.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我…

蓝桥杯备赛_python_DFS搜索算法_刷题学习笔记

1.是什么 沿着一条路径一直搜索下去&#xff0c;在无法搜索时&#xff0c;回退到刚刚访问过的节点。并且每个节点只能访问一次。本质上是持续搜索&#xff0c;遍历了所有可能的情况&#xff0c;必然能得到解。 流程是一个树的形式&#xff0c;每次一条路走到黑。 目的主要是达到…

哈尔滨工业大学 《材料物理》 笔记-3

原内容请参考哈尔滨工业大学何飞教授&#xff1a;https://www.bilibili.com/video/BV18b4y1Y7wd/?p12&spm_id_frompageDriver&vd_source61654d4a6e8d7941436149dd99026962 或《材料物理性能及其在材料研究中的应用》&#xff08;哈尔滨工业大学出版社&#xff09; 量…

杨氏矩阵的查找(复杂度<O(N))

题目&#xff1a; 解释&#xff1a;时间复杂度小于O(N)即不要一个一个的去遍历查找。 思路&#xff1a; 一个33的二维数组如图所示&#xff1a; 一&#xff1a;先找到一个最关键的数字&#xff0c;3&#xff08;下标为0,2&#xff09; 关键数的关键之处在于&#xff08;处于…

【Unity】从0到1的横版2d制作笔记-DAY1

写在前面&#xff1a; 感谢旻子提供的Unity2d课程捏&#xff0c;红豆泥阿里嘎多 创建项目 测试Visual Studio的使用 右键选择【create】&#xff0c;右键创建C# Script&#xff0c;待文件创建完毕后双击查看能否正确跳转。 正确跳转的结果是能看见代码中注释标注有&#xff1a;…