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}` }
  })
})
相关推荐
西维4 分钟前
大屏、看板必备的丝滑技巧 — 数字滚动
前端·javascript·动效
前端工作日常8 分钟前
我学习到的AG-UI的功能:全面的交互支持
前端
LawrenceLan9 分钟前
Flutter 零基础入门(十三):late 关键字与延迟初始化
开发语言·前端·flutter·dart
深耕AI9 分钟前
【wordpress系列教程】03 网站页面的编辑
开发语言·前端
前端达人16 分钟前
2026年React数据获取的第六层:从自己写缓存到用React Query——减少100行代码的秘诀
前端·javascript·react.js·缓存·前端框架
—Qeyser21 分钟前
Flutter 生命周期完全指南:从出生到死亡的全过程
前端·javascript·flutter
鹏北海24 分钟前
qiankun两种加载模式registerMicroApps和loadMicroApp对比分析
前端·架构·前端框架
YAY_tyy24 分钟前
Turfjs 性能优化:大数据量地理要素处理技巧
前端·3d·arcgis·cesium·turfjs
hhcccchh25 分钟前
学习vue第十二天 Vue开发工具链指南:从手工作坊到现代化工厂
前端·vue.js·学习