当前位置: 首页 > news >正文

qiankun

props动态值

import { initGlobalState } from 'qiankun'; // 初始化全局状态 const actions = initGlobalState({ name: '张三', }); // 注册子应用时把 actions 传过去 registerMicroApps([ { name: 'subapp', entry: 'http://localhost:7001', container: '#container', activeRule: '/subapp', props: actions, // 关键 }, ]); start(); // 主应用改数据 setTimeout(() => { actions.setGlobalState({ name: '李四' }); }, 2000);
在 mount 里监听: export async function mount(props) { // 监听变化 props.onGlobalStateChange((state) => { console.log('子应用感知到数据变了:', state); // 这里更新子应用页面/state 即可 }, true); } state当前全局状态里的所有数据 initGlobalState 里存啥 → state就是啥!
import { initGlobalState } from 'qiankun' const state = { user: '张三', theme: 'dark' } const actions = initGlobalState(state) // 注册子应用时把 actions 放进 props props: { actions }
export async function mount(props) { // 监听变化 props.actions.onGlobalStateChange((state) => { console.log(state) }) // 修改状态 props.actions.setGlobalState({ user: '李四' }) }

Vue.prototype.$xxx

Vue.prototype.$user = { name: '张三' } Vue.prototype.$getScore = () => 100 template 里不能直接写 <$user> export default { mounted() { console.log(this.$user.name) console.log(this.$getScore()) } }
import MyButton from '@/components/MyButton.vue' Vue.prototype.$MyButton = MyButton 只能在 template 里当组件用 <$MyButton> script 里一般不用 this.$MyButton <template> <div> <$MyButton type="primary" @click="handle" /> </div> </template>

子应用

子应用怎么渲染?
mount(props) 调用 render(props)里面执行:
new Vue({ … }).$mount(‘#app’)

import Vue from 'vue' import App from './App.vue' import router from './router' let instance = null; // 子应用实例 // ============ 渲染函数(抽出来,方便多次调用)============ function render(props) { // 监听主应用状态 props.onGlobalStateChange((newState) => { console.log('主应用数据变了:', newState); // 你可以在这里更新子应用的 data/vuex // 比如: // store.commit('setUser', newState.userName) }, true); // 渲染子应用 instance = new Vue({ router, render: h => h(App), }).$mount('#app'); // 挂载到自己的 #app } // ============= 生命周期:qiankun 会调用 ============= export async function bootstrap() { console.log('子应用启动'); } // 挂载时 export async function mount(props) { console.log('子应用挂载,接收 props:', props); render(props); // ✅ 在这里渲染! } // 卸载时 export async function unmount() { instance.$destroy(); instance.$el.innerHTML = ''; instance = null; } // 独立运行(非 qiankun 环境) if (!window.__POWERED_BY_QIANKUN__) { render({}); }
http://www.jsqmd.com/news/700279/

相关文章:

  • FPGA音频处理平台Tiliqua的设计与应用
  • Linux入门攻坚——75、运维监控阶段工具之zabbix-2
  • Python3 模块精讲:Matplotlib—— 数据可视化、绘图从零基础到实战精通
  • 实测DeepSeek V4降AI 5款工具,2026年4月嘎嘎降AI最稳 - 我要发一区
  • 液冷阀门清洁度颗粒测试设备 西恩士工业源头厂家 - 工业设备研究社
  • 公众号用DeepSeek V4写,2026年4月去i迹5分钟去AI味 - 我要发一区
  • 从华为ISC看数字化供应链:大数据如何优化市场预测与存货管理?
  • HarmonyOS 6学习:日志终端“右对齐”失效与AI长图“滚动裁缝”实战
  • GetQzonehistory:一键永久保存QQ空间说说的终极免费方案
  • WPF Ribbon控件终极指南:5分钟打造专业Office风格界面
  • CodeTop Top 300 热门题目5-字符串转换整数 (atoi)
  • 毕业论文用DeepSeek V4写,2026年4月嘎嘎降AI到6% - 我要发一区
  • DeepSeek V4内容去AI味对比,2026年4月3款工具实测 - 我要发一区
  • DeepSeek V4 vs ChatGPT写论文,2026年4月哪个AI率低 - 我要发一区
  • GitHub 1.2 万星 Qt 项目 VNote 源码解读(二):Markdown 文本渲染
  • DeepSeek V4写论文降AI率指南,2026年4月嘎嘎实测 - 我要发一区
  • excel合并
  • Phi-mini-MoE-instruct多场景:代码审查、算法解释、面试题生成一体化
  • DeepSeek V4论文降AI率横评,2026年4月嘎嘎降AI第一 - 我要发一区
  • DeepSeek V4内容AI痕迹太重怎么办?2026年4月3步搞定 - 我要发一区
  • 800V高压锂电池生产厂家推荐(工业级与特种定制方案解析)【浩博电池】
  • 结婚如何使用手机进行现场录礼,请人收礼?
  • sb-KafkaListener 20260425
  • Hexo+Qexo全自动化博客搭建教程
  • HTD——基于触觉预测的人形行走-操作框架:融合视觉、本体感知、力反馈、触觉,同时预测动作、未来手部关节受力、由EMA目标编码器监督的未来触觉潜变量
  • openwrt路由器lan口莫名其妙断网的补丁式解决方案
  • Open XML SDK 完全指南:告别手动处理Office文档的烦恼
  • 西恩士行业黑马 液冷阀门清洁度污染物分析系统 - 工业设备研究社
  • LFM2.5-VL-1.6B惊艳案例:老旧文档扫描件OCR+结构化摘要生成效果对比
  • 2026雅思机构实测|零基础必看:多次元、新东方、新航道、环球怎么选 - 速递信息