Vue:踩不完的异步之坑

本文介绍了在Vue中遇到的异步问题,涉及用户管理和权限管理两个页面,以及它们共享的userTable组件。通过分析需求、代码实现和问题解决过程,揭示了在处理异步数据时可能出现的组件状态同步问题,最终通过断点调试找到了问题根源:在mounted钩子中,由于异步操作,导致组件未能正确更新用户列表。
摘要由CSDN通过智能技术生成

Js 的异步确实完美地解决了单线程的问题,但是同时也会带来许多问题。而且随着用的框架越来越多,越来越复杂,定位问题的难度也随之上升。

不知为什么,总觉得Vue 的断点调试相比于不使用框架的情况下更难用,这可能也是花了一个小时才找到问题产生的根源的原因。废话少说,以下便是问题产生的全过程以及查找问题的流程与逻辑梳理。

1. 任务需求分析

1.1 两个页面,两个组件

任务需求涉及到两个页面和两个组件之间的恩怨纠纷,它们的关系如下:


1.2 需求描述

  • 用户管理和权限管理是两个并列的页面。
  • 点开用户管理,里是userTable 组件展示出的用户列表。
  • 点开权限管理页面,然后点击页面上的组成员按钮,弹出modalUserList 弹框组件,modalUserList 中是userTable 组件展示的用户列表。
  • 点开用户管理时展示的是所有的用户列表,点开权限管理再点击组成员时展示的是属于该组的成员列表。

2. 功能是如何实现的?

2.1 以前端思维消化需求

  • 两个页面用到了同一个组件userTable,但是需要有不同的表现。所以我们需要一个tabletype 字段来标识当前是哪个页面引用了userTable 组件。
  • 用户点击权限管理页面的时候,他的孙子元素userTable 需要根据用户点击的记录id 来获取该组的用户信息,中间涉及两层父子组件通信,不太方便,使用vuex 进行处理。

2.2 代码实现 (简化版)

  • 用户管理页面引用userTable 组件的代码
<userTable
  :tableType="1"
  :userList="userList"></userTable>
  • 权限管理页面引用modalUserList 组件的代码
<modalUserList
  @closeModal=
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值