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}` }
  })
})
相关推荐
aesthetician1 分钟前
用铜钟听歌,发 SCI !
前端·人工智能·音频
代码or搬砖17 分钟前
flask与vue实现通过websocket通信
vue.js·websocket·flask
Mike_jia21 分钟前
LogWhisperer 全解析:打造你的Linux服务器AI日志分析中枢
前端
网安Ruler23 分钟前
崭新出厂,自研CipherForge小工具,攻破 D-Link M30 固件加密
前端·网络·python
daxiang1209220523 分钟前
记一次前端请求报错:Content-Length can‘t be present with Transfer-Encoding,+Cursor使用教训
前端·cursor
武清伯MVP24 分钟前
深入了解Canvas:HTML5时代的绘图利器(二)
前端·html5·canvas
float_六七26 分钟前
Spring AOP表达式速查手册
前端·javascript·spring
PineappleCoder27 分钟前
没 CDN = 用户等半天?四大核心机制:就近、分流、提速、容错全搞定
前端·性能优化
suoyue_zhan31 分钟前
GBase 8s V8.8 安装部署实践指南
前端·数据库·chrome
LisEcho31 分钟前
yoyoj-rn — RN 的脚手架工具可以不是 @react-native-community/cli
前端·react native·npm