2021-9-14 子组件消失+watch异步侦听问题

 

最近遇到一个问题,效果是想做成watch是异步侦听的,导致我赋值的数据在刷新之后才可能赋值成功(4),但刷新的过程导致了子组件的消失,(除了第一个,id相同子组件没消失),状态转成了另一个值(2),就造成了这个值(4)不存在过。

如果我把这条指令异步处理,5秒后,刷新成功了,再emit就没有问题。

然后呢,我的mentor觉得这个事情还是看刷新返回的是不是最新的已删除后的列表。所以他觉得后端删完后emit给我一个消息我再刷新比较好 ,所以呢,目前的做法是后端删完后通过websocket,emit一个消息给前端,前端再刷新。因为是刷新后的结果(删完了),id肯定不同。

然后,因为websocket做成了broadcast,我要判断在看同一个盒子刷新的两个人,在相应的组件中watch,如果id不同,不跳出弹窗说盒子已重启。相同就跳出弹窗,点确定刷新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue 3中,你可以使用`watch`器来实现以下功能: 1. 监数据的变化并执行相应的操作:你可以使用`watch`器来监视数据的变化,一旦数据发生变化,就可以执行相应的操作。例如,你可以监某个数据变量,并在它发生变化时更新页面上的内容。 ```javascript watch('dataVariable', (newValue, oldValue) => { // 执行操作 }); ``` 2. 异步监数据的变化:有时候,你需要在数据变化之后执行异步操作,例如发送网络请求或者处理复杂的计算。Vue 3中的`watch`器支持异步函数作为回调函数,你可以在回调函数中执行异步操作。 ```javascript watch('dataVariable', async (newValue, oldValue) => { // 执行异步操作 }); ``` 3. 监多个数据的变化:你可以在一个`watch`器中同时监多个数据的变化。当任意一个被监的数据发生变化时,回调函数都会被触发。 ```javascript watch([ 'dataVariable1', 'dataVariable2' ], (newValues, oldValues) => { // 执行操作 }); ``` 4. 监组件内部属性的变化:除了监数据变化外,你还可以使用`watch`器来监组件内部的属性变化。例如,你可以监某个组件内部的计算属性,并在其值发生变化时执行操作。 ```javascript watch(() => computedProperty.value, (newValue, oldValue) => { // 执行操作 }); ``` 需要注意的是,在Vue 3中,`watch`器的用法与Vue 2中的`$watch`方法有所不同。你可以在Vue 3的官方文档中查看更多关于`watch`器的详细用法和示例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值