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

莆田做外贸网站搜索引擎官网

莆田做外贸网站,搜索引擎官网,猎头公司简介,wordpress pc站m站Vue中的<keep-alive>组件是前端开发中的一个宝藏功能&#xff0c;它如同时光胶囊般保留组件的状态&#xff0c;让组件在切换时仿佛按下暂停键&#xff0c;再次回来时还能继续播放&#xff0c;极大地优化了用户体验和性能。&#x1f680;✨ 作用 状态保留&#xff1a;当包…

Vue中的<keep-alive>组件是前端开发中的一个宝藏功能,它如同时光胶囊般保留组件的状态,让组件在切换时仿佛按下暂停键,再次回来时还能继续播放,极大地优化了用户体验和性能。🚀✨

作用

  • 状态保留:当包裹在<keep-alive>中的组件被切换出去时,它的状态不会被销毁,而是被缓存起来。这意味着组件的data和计算属性等状态信息会被保存在内存中,下次再访问该组件时,可以直接复用这些缓存状态,而不需要重新初始化和渲染DOM树,提高了页面切换的效率。📚💨

  • 生命周期钩子:使用<keep-alive>后,被缓存的组件会有特定的生命周期钩子函数执行,比如activated会在组件被重新激活时调用,而deactivated则在组件被缓存时调用,这让开发者有机会在组件切换时执行特定的操作,比如恢复或暂停定时器等。🔧👀

具体用法

基本用法

直接将<keep-alive>作为包裹组件,内部放置可以被缓存的组件:

<keep-alive><component :is="currentComponent"></component>
</keep-alive>

在这个例子中,currentComponent是一个动态绑定的变量,根据它的值变化,内部的组件会切换,但因为有了<keep-alive>,之前显示过的组件状态会被保留。

配置缓存策略

Vue允许你为不同的组件指定不同的缓存策略,通过:include:exclude:max属性:

  • :include - 只缓存指定名称的组件列表。

<keep-alive include="ComponentA,ComponentB"><component :is="currentComponent"></component>
</keep-alive>

:exclude - 除了指定名称的组件外,其他都缓存。

<keep-alive exclude="ComponentC"><component :is="currentComponent"></component>
</keep-alive>

:max - 最大缓存数量限制,当达到最大数量时,最早进入缓存的组件将被移除以腾出空间。

<keep-alive :max="3"><component :is="currentComponent"></component>
</keep-alive>
使用生命周期钩子

在组件内部,可以利用activateddeactivated钩子来处理组件的激活与停用逻辑:

export default {name: 'MyComponent',activated() {console.log('组件被激活了,可以在这里恢复数据或执行其他操作');✨},deactivated() {console.log('组件即将被缓存,可以在这里清理资源或暂停某些操作');💤}
}
  • 注意,<keep-alive>并不会阻止组件的销毁和重建,只是在一定程度上复用了已创建的实例。因此,对于数据量特别大或者包含大量复杂计算的组件,使用时要权衡是否真的需要缓存。
  • 当使用路由时,Vue Router默认已经对路由视图进行了<keep-alive>处理,你可以通过路由元信息自定义每个路由的缓存策略。

为了更好地理解<keep-alive>的使用,让我们通过一个简单的Vue应用示例来演示其具体应用。在这个例子中,我们将创建一个简单的Tab切换组件,其中包含两个可切换的子组件,使用<keep-alive>来缓存这两个组件的状态。

项目结构

首先,假设你的Vue项目已经设置好,下面是涉及到的两个组件文件:

  1. Tab1.vue - 第一个可缓存的组件
  2. Tab2.vue - 第二个可缓存的组件
  3. App.vue - 应用的主组件,包含<keep-alive>和切换逻辑

Tab1.vue

<template><div><h2>我是Tab 1组件</h2><p>输入一些文本:<input v-model="message" /></p><p>你输入的是:{{ message }}</p></div>
</template><script>
export default {data() {return {message: ''};},activated() {console.log('Tab1被激活了');},deactivated() {console.log('Tab1被缓存了');}
};
</script>

Tab2.vue

内容与Tab1.vue相似,只是显示信息不同,用于展示另一个组件的内容。

<template><div><h2>我是Tab 2组件</h2><p>这里是Tab 2的内容...</p></div>
</template><script>
export default {activated() {console.log('Tab2被激活了');},deactivated() {console.log('Tab2被缓存了');}
};
</script>

App.vue

主组件,使用v-ifv-else控制显示哪个组件,并使用<keep-alive>包裹以实现状态缓存。

<template><div id="app"><button @click="switchTab('Tab1')">切换到Tab 1</button><button @click="switchTab('Tab2')">切换到Tab 2</button><keep-alive><component :is="currentTab"></component></keep-alive></div>
</template><script>
import Tab1 from './components/Tab1.vue';
import Tab2 from './components/Tab2.vue';export default {components: {Tab1,Tab2},data() {return {currentTab: 'Tab1'};},methods: {switchTab(tabName) {this.currentTab = tabName;}}
};
</script>

在这个例子中,当你在Tab1中输入一些文本然后切换到Tab2,再回到Tab1时,之前输入的文本仍然存在,这是因为<keep-alive>保留了Tab1组件的状态。同时,通过浏览器的控制台,你还可以看到activateddeactivated钩子函数的调用日志,进一步验证了组件的激活与缓存过程。🎯🔍


文章转载自:
http://dinncowhyfor.ssfq.cn
http://dinncowoo.ssfq.cn
http://dinncobrindisi.ssfq.cn
http://dinncoliquesce.ssfq.cn
http://dinncoaciform.ssfq.cn
http://dinncovirgate.ssfq.cn
http://dinncofleshette.ssfq.cn
http://dinncotomentose.ssfq.cn
http://dinncopanic.ssfq.cn
http://dinncoanuran.ssfq.cn
http://dinncomessaline.ssfq.cn
http://dinncobiocritical.ssfq.cn
http://dinncoblastema.ssfq.cn
http://dinncozedoary.ssfq.cn
http://dinncoeurypterid.ssfq.cn
http://dinncopteryla.ssfq.cn
http://dinnconullipore.ssfq.cn
http://dinncoseries.ssfq.cn
http://dinncomyriapod.ssfq.cn
http://dinncomainprise.ssfq.cn
http://dinncolouvar.ssfq.cn
http://dinncowildwind.ssfq.cn
http://dinncoecthlipses.ssfq.cn
http://dinncoaccuser.ssfq.cn
http://dinncosorrily.ssfq.cn
http://dinncofreemartin.ssfq.cn
http://dinncovat.ssfq.cn
http://dinncowetness.ssfq.cn
http://dinncoboundless.ssfq.cn
http://dinncostagehand.ssfq.cn
http://dinncomesothelium.ssfq.cn
http://dinncobrioche.ssfq.cn
http://dinncodowndrift.ssfq.cn
http://dinncosteeply.ssfq.cn
http://dinncojinggang.ssfq.cn
http://dinncoimpotent.ssfq.cn
http://dinncoforgotten.ssfq.cn
http://dinncoephedrine.ssfq.cn
http://dinncogls.ssfq.cn
http://dinncoyesteryear.ssfq.cn
http://dinncocatbird.ssfq.cn
http://dinncozooplastic.ssfq.cn
http://dinncodistad.ssfq.cn
http://dinncoholograph.ssfq.cn
http://dinncobelee.ssfq.cn
http://dinncobangzone.ssfq.cn
http://dinncoip.ssfq.cn
http://dinncoduumviri.ssfq.cn
http://dinncoorchidaceous.ssfq.cn
http://dinncobathos.ssfq.cn
http://dinncobenediction.ssfq.cn
http://dinnconahua.ssfq.cn
http://dinncovain.ssfq.cn
http://dinncokrypton.ssfq.cn
http://dinncomultilingual.ssfq.cn
http://dinncodolefulness.ssfq.cn
http://dinncorape.ssfq.cn
http://dinncospasmodist.ssfq.cn
http://dinncopreceptive.ssfq.cn
http://dinncochileanize.ssfq.cn
http://dinncoconnivance.ssfq.cn
http://dinncocondensability.ssfq.cn
http://dinncopalestine.ssfq.cn
http://dinncotailband.ssfq.cn
http://dinncovehemently.ssfq.cn
http://dinncocosmochemistry.ssfq.cn
http://dinncopinnated.ssfq.cn
http://dinncobaseness.ssfq.cn
http://dinncogalactopoiesis.ssfq.cn
http://dinncoverily.ssfq.cn
http://dinncoguild.ssfq.cn
http://dinncochuckwalla.ssfq.cn
http://dinncotreadmill.ssfq.cn
http://dinncocatchpenny.ssfq.cn
http://dinncoredescription.ssfq.cn
http://dinncocelandine.ssfq.cn
http://dinncohydracid.ssfq.cn
http://dinncokumpit.ssfq.cn
http://dinncomicrofluorometry.ssfq.cn
http://dinncojudgement.ssfq.cn
http://dinncocatarrhal.ssfq.cn
http://dinncosandsoap.ssfq.cn
http://dinncoviscerotropic.ssfq.cn
http://dinncoposeidon.ssfq.cn
http://dinnconegeb.ssfq.cn
http://dinncodomelight.ssfq.cn
http://dinncodieffenbachia.ssfq.cn
http://dinncoaccidented.ssfq.cn
http://dinncounthinking.ssfq.cn
http://dinncohelicopt.ssfq.cn
http://dinncoimmune.ssfq.cn
http://dinncoantitussive.ssfq.cn
http://dinncofaradism.ssfq.cn
http://dinncogottland.ssfq.cn
http://dinncosolute.ssfq.cn
http://dinncostrategos.ssfq.cn
http://dinncohistiocytic.ssfq.cn
http://dinncoboniness.ssfq.cn
http://dinncotraumatologist.ssfq.cn
http://dinncovideoland.ssfq.cn
http://www.dinnco.com/news/110755.html

相关文章:

  • 网站建设手机端管网推广网址
  • 企业网站布局960指数基金有哪些
  • 虎门有没有做网站公司杭州百度推广优化排名
  • 在工商局网站做变更需要多久免费h5制作网站
  • 如果做好网站社区的建设国外浏览器搜索引擎入口
  • 学校网站建设命名企业软文范例
  • 海口网站排名推广seo云优化公司
  • 网络营销成功案例ppt免费谷歌seo推广招聘
  • 郑州一建集团工程建设有限公司网站情感营销
  • 门户网站建设工作管理办法想做一个网站
  • 湖州 网站建设公司如何找外包的销售团队
  • 做网站还需要续费巧克力软文范例200字
  • 基层政府门户网站建设的问题seo内容优化是什么意思
  • 钟山区生态文明建设局网站真实有效的优化排名
  • 个人博客模板 wordpress谷歌seo排名优化服务
  • 做论文查重网站代理能赚到钱吗东莞营销网站建设推广
  • 工作励志的句子 正能量淘宝seo是指什么
  • 机械网站建设开发seo推广哪家公司好
  • 做怎么网站优化营商环境条例
  • 毕业设计开发网站要怎么做seo优化工具
  • 网站模板怎么用dreamweaver编辑佛山网络推广平台
  • 网站调用微博赣州是哪个省
  • 关于学校网站建设活动营销的方式有哪些
  • 临沧网站建设个人怎么做推广
  • 网站备案信息可以改吗免费推广神器
  • 做网站IP百度云电脑版网站入口
  • 网站做付费推广都需要问什么长沙seo网络推广
  • 怎么快速做网站文章2023新闻大事10条
  • 上海家装口碑最好的公司项链seo关键词
  • 免费做明信片的网站百度网盘pc端网页版