| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> 06 vue3 动态组件 keep-alive 异步组件 Suspense $refs 生命周期 mixin extends -> 正文阅读 |
|
[JavaScript知识库]06 vue3 动态组件 keep-alive 异步组件 Suspense $refs 生命周期 mixin extends |
动态组件当需要渲染的组件不是固定的,可以使用动态组件 动态组件是使用 component 组件,通过一个特殊的attribute is 来实现: is绑定的值:使用component函数注册的全局组件, 或者在当前组件对象的components对象中注册的组件 动态组件父子通信:和使用普通组件一样,将需要传递的数据及监听的事件放到component组件上 ?keep-alivekeep-alive也是vue内置的组件称为缓存组件,作用是保存当前组件的状态,不被销毁掉 常与动态组件,router-view一起使用 ?这样在组件间来回切换,组件不会销毁与重建,会保持状态 keep-alive属性 ? ?缓存组件的生命周期 ?异步组件vue-cli是基于webpack的,当我们打包时,如果没有进行配置,会把所有组件打包到一个app.js文件夹中,当首次渲染时,需要把整个app.js下载下来,造成首屏渲染较慢 webpack的分包 ?vue中使用异步组件 我们的项目过大了,对于某些组件我们希望通过异步的方式来进行加载(目的是可以对其进行分包处理),那 么Vue中给我们提供了一个函数:defineAsyncComponent ?SuspenseSuspense意思是悬疑的,悬而未决的,常与异步组件一起使用 ?$refs?$parent和$root$refs vue不推荐我们直接操作dom,当我们想操作元素或者组件时,可以使用$refs 组件实例都有一个$refs属性,是一个对象,持有注册过 ref attribute 的所有 DOM 元素和组件实例。 ? ?$parent $parent访问父元素 $root 访问根元素 注意:在Vue3中已经移除了$children的属性,所以不可以使用了。 生命周期每个组件都可能会经历从创建、挂载、更新、卸载等一系列的过程,叫做生命周期 生命周期函数是一些钩子函数,在某个时间会被Vue源码内部进行回调; 通过对生命周期函数的回调,我们可以知道目前组件正在经历什么阶段; 那么我们就可以在该生命周期中编写属于自己的逻辑代码了 mixin?代码共享的一种方式(不是数据共享,只是代码共享,让你少些代码,合并到optionsAPI中) 组件和组件之间有时候会存在相同的代码逻辑,我 们希望对相同的代码逻辑进行抽取 ?Mixin的合并规则 生命周期会放到一个数组中全部调用 data:data中数据名重复,肯定使用当前组件自己的 methods,components:key重复,用自己的 全局混入mixin 当所有组件都有共同代码,可以使用全局混入 全局的Mixin可以使用 应用app的方法 mixin 来完成注册 ?extends(了解)extends也是做代码复用的,算是一个历史遗留问题,刚推出时不好用,就又推出了mixin 用法与mixin类似,template不会继承,推荐大家使用mixin |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:06:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |