vue中监听window某个属性被添加或值的变化

vue项目中假如你需要在index.html中获取某个异步数据,

假如你在项目其他地方如main.jsstore.js添加了数据

js 复制代码
// main.js
window.__CONFIG__ = featchData //异步数据
  1. Promise 方式
js 复制代码
function waitForHXConfig(timeout = 2000) {
  return new Promise((resolve, reject) => {
    if (window.__CONFIG__ !== undefined) {
      return resolve(window.__CONFIG__);
    }
    
    const interval = setInterval(() => {
      if (window.__CONFIG__ !== undefined) {
        clearInterval(interval);
        resolve(window.__CONFIG__);
      }
    }, 300);
    
    setTimeout(() => {
      clearInterval(interval);
      reject(new Error('等待 __CONFIG__ 超时'));
    }, timeout);
  });
}

// 使用示例
waitForConfig().then(config => {
  console.log('🎯 监听到 __CONFIG__:', config);
  // 这里写你的业务代码
});
  1. 回调函数方式
javascript 复制代码
<script>
function onConfigReady(callback) {
  const check = () => {
    if (window.__CONFIG__ !== undefined) {
      callback(window.__CONFIG__);
    } else {
      setTimeout(check, 100);
    }
  };
  
  check(); 
}

// 使用
onConfigReady(config => {
  console.log('__CONFIG__ 已就绪:', config);
});
<script>
相关推荐
2501_920931703 小时前
React Native鸿蒙跨平台采用ScrollView的horizontal属性实现横向滚动实现特色游戏轮播和分类导航
javascript·react native·react.js·游戏·ecmascript·harmonyos
0思必得05 小时前
[Web自动化] Selenium处理动态网页
前端·爬虫·python·selenium·自动化
东东5165 小时前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino5 小时前
图片、文件的预览
前端·javascript
2501_920931707 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
layman05287 小时前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔7 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李7 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN7 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒7 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局