Closed xuyongweb closed 2 years ago
问题描述 [问题描述:我在beforeProxyHooks 里面执行onLoad会执行两次]
复现步骤 [复现问题的步骤]
beforeProxyHooks: { onLoad:async ([options], next)=>{ let baseInfo = store.getters.baseInfo // 初始化基础信息 console.log(baseInfo) if (JSON.stringify(baseInfo) === '{}') { baseInfo = await store.dispatch('user/getInfo') } const emoticonList = baseInfo.emoticonList || [] const emojList = store.getters.emojList || [] if (emojList.length == 0) { // 初始化表情包信息 let emoJSON = await getEmojMail() emoJSON = [...emoJSON, ...emoticonList] store.commit('user/SET_EMOJLIST', emoJSON) } next([{ ...options, ...baseInfo }]) }, },
预期结果 [只执行一次]
实际结果 [执行了两次]
系统信息:
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]
触发多次是因为你当前页面有多个onLoad包括混入 及页面生命周期, 每次onLoad在执行之前都会执行路由插件注入的父级生命周期 。 你可以打印this查看结果
问题解决了我写的有问题
问题描述 [问题描述:我在beforeProxyHooks 里面执行onLoad会执行两次]
复现步骤 [复现问题的步骤]
预期结果 [只执行一次]
实际结果 [执行了两次]
系统信息:
补充信息 [可选] [根据你的分析,出现这个问题的原因可能在哪里?]