iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >vue3 监听props 的变化
  • 558
分享到

vue3 监听props 的变化

vue.js前端javascript 2023-08-30 10:08:13 558人浏览 薄情痞子
摘要

再三说明 仅仅个人学习用,不误导别人 我觉得props 会创建对应的属性,去接受这些值,比如传递一个ref的基本值 age props.age = age.value 传递一个ref的引用值 person props.person= per

再三说明 仅仅个人学习用,不误导别人
我觉得props 会创建对应的属性,去接受这些值,比如传递一个ref的基本值 age
props.age = age.value
传递一个ref的引用值 person
props.person= person.value
传递一个Reactive的引用值 person
props.person= person

最开始时候,props指向了一个响应式的reactive person,如果我们手动将person = {} 整个替换掉,是不影响原来指向的值的(setup只在初始化时执行一次,所有一开始props指向的是一个响应式的person,而当前改变的person 并不影响,props当中的person 所以也无法监听)

1、父组件使用reactive 接收数据

let person = reactive({  age: 21,  name: 'test',  info: {    a: 1  }});

person 和 info 以及prop都是一个reactive对象,都可以作为watch第一个参数

const props = defineProps({  person: {    age: Number,    name: String,    info: {      a: Number    }  }});可以监听到info 里边某个属性变化watch(person.info, (value) => {  console.log(value);})整个info 被替换掉也可以监听到watch(() => person.info, (value) => {  console.log(value);})整个person 替换掉 无法被监听,因为props当中的person 指向的是一个已经封装了的reactive对象如果在父组件当中直接person = newValue props是无法监听到的

2、父组件使用ref 接收数据

let person = ref({  age: 21,  name: 'test',  info: {    a: 1  }});

将person.value = { } 整个替换

可以监听到watch(props, (value) => {  console.log(value);})无法监听watch(props.person, (value) => {  console.log(value);})可以监听到person 被整个替换掉watch(() => props.person, (value) => {  console.log(value);})

项目中,我将修改 或者 新增的表单组件分离出去了,每次新增或者修改时候需要给表单组件传递一个person 值,新增时候需要置空,修改时候需要赋予值

我们知道person = {}是没办法监听到的,所以采用

let person = ref({  age: 21,  name: 'test',  info: {    a: 1  }});const add= ()=>{person.value = {}]const add= ()=>{Object.assign(person.value,{age:2,name:'test'})]

监听变化

来源地址:https://blog.csdn.net/qq_41304029/article/details/132558927

--结束END--

本文标题: vue3 监听props 的变化

本文链接: https://www.lsjlt.com/news/382531.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3 监听props 的变化
    再三说明 仅仅个人学习用,不误导别人 我觉得props 会创建对应的属性,去接受这些值,比如传递一个ref的基本值 age props.age = age.value 传递一个ref的引用值 person props.person= per...
    99+
    2023-08-30
    vue.js 前端 javascript
  • vue3如何使用watch监听props中的数据
    目录情况一:监听 props 中基本数据类型情况二:监听 props 中引用数据类型且父组件不改变地址指向情况三:监听 props 中引用数据类型且父组件改变地址指向总结写在最后情况...
    99+
    2022-11-13
    vue3监听props数据变化 vue3 监听props vue props监听
  • vue组件props属性监听不到值变化问题
    目录props属性监听不到值变化问题props监听变化的几种方式应用场景1.computed 计算属性2.methods 方法3.watch 侦听器props属性监听不到值变化问题 ...
    99+
    2024-04-02
  • Vue3.0中怎么监听props
    这篇文章主要讲解了“Vue3.0中怎么监听props”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue3.0中怎么监听props”吧!Vue3.0监听props的方法第一种直接监听这个pr...
    99+
    2023-06-30
  • vue3如何使用watch监听router的改变
    这篇文章主要介绍“vue3如何使用watch监听router的改变”,在日常操作中,相信很多人在vue3如何使用watch监听router的改变问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue3如何使用w...
    99+
    2023-07-04
  • sqlserver怎么监听表变化
    在SQL Server中,可以使用触发器(Trigger)来监听表的变化。触发器是一种特殊的存储过程,它会在表中的数据发生变化时自动...
    99+
    2024-04-09
    sqlserver
  • Vue3.0中如何监听props方法
    目录Vue3.0如何监听props第一种第二种vue3.0监听props做数据回显Vue3.0如何监听props 学习vue3.0记录下props监听: 第一种 直接监听这个prop...
    99+
    2024-04-02
  • golang监听文件变化的实例
    废话不多说,直接上官网demo package main import ( "log" "github.com/fsnotify/fsnotify" ) func main(...
    99+
    2024-04-02
  • Android实现监听音量的变化
    本文实例为大家分享了Android实现监听音量变化的具体代码,供大家参考,具体内容如下 最近项目中涉及到了音量监听然后作出改变的需求,特此mark一下 想监听音量的变化通用的就两种方...
    99+
    2024-04-02
  • Android 之 监听 EditText 的内容变化
    本节引言: 在前面我们已经学过EditText控件了,本节来说下如何监听输入框的内容变化! 这个再实际开发中非常实用,另外,附带着说下如何实现EditText的密码可见与不可见! 1.监听EditText的内容变化 由题可知,是基于监...
    99+
    2023-08-31
    android java android studio
  • AngularJS如何监听路由变化
    这篇文章将为大家详细讲解有关AngularJS如何监听路由变化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用AngularJS时,当路由发生改变时,我们需要做某些处理...
    99+
    2024-04-02
  • mysql怎么监听数据变化
    MySQL本身并没有提供直接监听数据变化的功能。但是可以通过以下几种方式来实现数据变化的监听: 使用触发器(Trigger):可...
    99+
    2024-04-09
    mysql
  • jquery如何监听元素变化
    在jquery中监听元素变化的方法:1.新建html项目,引入jquery;2.创建div标签,设置id属性;3.使用change事件监听元素变化;具体步骤如下:首先,在新建一个html项目,在项目中引入jquery;<script ...
    99+
    2024-04-02
  • Android 监听网络状态变化
    此篇存在的主要意义在于解决用户使用app中网络状态发生了变化,需要我们去动态监听网络连接状态(有网、无网)、网络类型 (包括wifi、移动网络 -> 3G、4G等等) 文章目录 门前授...
    99+
    2023-10-11
    android 网络
  • angular怎么监听数据变化
    在Angular中,可以使用Angular的Change Detection机制来监听数据的变化。 使用双向数据绑定:双向数据绑...
    99+
    2023-10-24
    angular
  • redis怎么监听value值变化
    Redis并不支持直接监听value值的变化。但是可以通过一些技巧来实现类似的功能,例如使用Redis的pub/sub功能来实现监听...
    99+
    2024-04-02
  • vue实现监听localstorage值变化
    目录vue监听localstorage值变化监听localStorage中值的变化实现跨页面通信部分属性介绍如下其余属性截图如下vue监听localstorage值变化 在vue中实...
    99+
    2024-04-02
  • 通过Java监听MySQL数据的变化
    文章目录 实现Java监听MySQL数据是否发生变化原理开启MySQL的binlog功能Java监听MySQL的binlog实现监听数据变化 实现Java监听MySQL数据是否发生变化 原理 原理:java通过bin-...
    99+
    2023-08-19
    1024程序员节 java mysql
  • 前端项目中监听localStorage的变化
    目录背景解题思路第一种:storageEvent第二种:封装localStroage背景 前几天有位兄弟问我,如何去监听localStorage的变化呢??我确实是没遇到过这种场景,...
    99+
    2024-04-02
  • 如何使用watch监听路由变化和watch监听对象
    这篇文章主要介绍了如何使用watch监听路由变化和watch监听对象,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、watch监听路由变化...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作