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}` }
  })
})
相关推荐
清空mega6 分钟前
《Vue Router 与 Pinia 入门:页面跳转、动态路由、全局状态管理一篇打通》
前端·javascript·vue.js
踩着两条虫6 分钟前
AI 驱动的 Vue3 应用开发平台 深入探究(十):物料系统之内置组件库
前端·vue.js
坚持学习前端日记40 分钟前
AI 产品开发经验
前端·javascript·人工智能·visual studio
张一凡9341 分钟前
easy-model:简化领域驱动开发的理想选择
前端·react.js
雾削木1 小时前
STM32输入捕获测量PWM频率占空比
前端·javascript·stm32
weixin199701080161 小时前
淘宝客商品详情页前端性能优化实战
java·前端·python·性能优化
JamesYoung79711 小时前
第八部分 — UI 表面 动作(工具栏)、徽标、弹出窗口
前端·javascript
Joker Zxc1 小时前
【前端基础(Javascript部分)】5、JavaScript的循环语句
开发语言·前端·javascript
Neweee2 小时前
JavaScript进阶内容详解
前端