Vue 初始化數組后操作另一個數組onMounted和watch

Vue 的父组件和子组件的生命周期钩子函数执行顺序可以归类为以下 4 部分:

1、加载渲染过程

父 beforeCreate -> 父 created -> 父 beforeMount -> 子 beforeCreate -> 子 created -> 子beforeMount -> 子 mounted -> 父 mounted

注意:mounted 不会保证所有的子组件也都被一起挂载。如果希望等到整个视图都渲染完毕,可以在 mounted 内部使用 vm.$nextTick

2. 父组件更新过程

父 beforeUpdate -> 父 updated

3. 子组件更新过程

父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated

4. 销毁过程

父 beforeDestroy -> 子 beforeDetroy -> 子 destroyed -> 父 destroyed

https://www.cnblogs.com/bala/p/15884167.html

解決方案1

通過鈎子函數操作,前提是emailAddArr 已經有數據。

所以typescript需要定義emailAddArr為全局變量,這樣會在第一時間賦值。

复制代码
const emailAddArr = ref([] as string[])

在函數前定義

export function useEmailSent() {                    

onMounted(() => {
  list.value = emailAddArr.value.map((item) => {
    elHelper.alertBox(item + '')
    return { emailValue: `${item}`, emailLabel: `${item}` }
  })
})

解決方案二

這個方案是最合理的

复制代码
watch(emailAddArr.value, () => {
  list.value = emailAddArr.value.map((item) => {
    elHelper.alertBox(item + '')
    return { emailValue: `${item}`, emailLabel: `${item}` }
  })
})
相关推荐
大猫会长8 分钟前
mac中创建 .command 文件,执行node服务
前端·chrome
旧时光_8 分钟前
Zustand 状态管理库完全指南 - 进阶篇
前端·react.js
snakeshe101010 分钟前
深入理解useState:批量更新与非函数参数支持
前端
windliang10 分钟前
Cursor 排查 eslint 问题全过程记录
前端·cursor
boleixiongdi11 分钟前
# Bsin-App Uni:面向未来的跨端开发框架深度解析
前端
G等你下课14 分钟前
AJAX请求跨域问题
前端·javascript·http
前端西瓜哥14 分钟前
pixijs 的填充渲染错误,如何处理?
前端
阑梦清川15 分钟前
Java后端项目前端基础Vue(二)
vue.js
snakeshe101015 分钟前
6-1. 实现 useState
前端
呆呆没有脑袋17 分钟前
深入浅出 JavaScript 闭包:从核心概念到框架实践
前端