vue知识点总结 依赖注入 动态组件 异步加载

一 依赖注入

使用场景:当需要多层组件需要传值 如 祖宗-》父亲-》儿子-》孙子 如祖宗的数据需要直接传给孙子

祖宗组件中写:

javascript 复制代码
data(){return {}}
provide(){
return {
    shujukey:'数据值'
}
}

孙子 组件中接收,模板代码中直接使用{``{shujukey}}获取数据

javascript 复制代码
data(){return {}}
inject:['shujukey']

如果想全局使用某个依赖数据,需要在main.js中修改代码createApp(App).mount('#app')

javascript 复制代码
const app=createApp(App);
app.provide('zuzongName','zuzongvalue')
app.mount('#app')

二 动态组件 异步加载

dom中

javascript 复制代码
 <component :is="mycomponent"></component>
 <button @click="turntab">切换组件</button>

js中

javascript 复制代码
import componentA from "./componentA.vue";
// import componentB from "./componentB.vue";
const componentB = defineAsyncComponent(() => import("./componentB.vue"));//异步加载

data(){
	mycomponent:'componentA'
},
methods:{
turntab(){
 this.mycomponent =
        this.mycomponent === "componentA" ? "componentB" : "componentA";
}
}

如在切换组件的过程中不想叫组件销毁,可以使用

保持组件存活

javascript 复制代码
<keep-alive>
    <component :is="mycomponent"></component>
</keep-alive>
相关推荐
2501_918126917 分钟前
开源祭祖网页index
前端·开源·html
threelab19 分钟前
Three.js 3D 饼图效果 | 三维可视化 / AI 提示词
javascript·人工智能·3d
傻瓜搬砖人40 分钟前
SpringMVC的请求
java·前端·javascript·spring
木易 士心1 小时前
为什么 Promise 比 setTimeout 先执行?——JavaScript 事件循环与异步顺序完全指南
开发语言·javascript·ecmascript
爱上好庆祝1 小时前
学习js的第六天(js基础的结束)
开发语言·前端·javascript·学习·ecmascript
yqcoder1 小时前
JS 类型检测双雄:typeof vs instanceof 深度解析
开发语言·javascript·ecmascript
rADu REME1 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
IT_陈寒1 小时前
JavaScript的异步地狱,我差点没爬出来
前端·人工智能·后端
光影少年1 小时前
Webpack打包性能优化方面的经验
前端·webpack·性能优化
Das11 小时前
通过命令行下载kaggle数据
前端·chrome