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

免费建站系统实时新闻

免费建站系统,实时新闻,手机做外贸有什么好的网站,web前端开发网页设计报告以下是一个使用 Vue 3 和 Vue Router 实现动态添加和删除 cachedViews 数组的代码示例,该示例结合 keep-alive 组件来动态控制路由组件的缓存。 src/ ├── App.vue ├── router/ │ └── index.js ├── views/ │ ├── Home.vue │ ├── About.v…

以下是一个使用 Vue 3 和 Vue Router 实现动态添加和删除 cachedViews 数组的代码示例,该示例结合 keep-alive 组件来动态控制路由组件的缓存。

src/
├── App.vue
├── router/
│   └── index.js
├── views/
│   ├── Home.vue
│   ├── About.vue
│   └── Contact.vue
└── main.js
代码实现
router/index.js
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';
import Contact from '../views/Contact.vue';const routes = [{path: '/',name: 'Home',component: Home},{path: '/about',name: 'About',component: About},{path: '/contact',name: 'Contact',component: Contact}
];const router = createRouter({history: createWebHistory(),routes
});export default router;
views/Home.vue
<template><div><h1>Home Page</h1></div>
</template><script setup>
import { defineComponent } from 'vue';export default defineComponent({name: 'Home'
});
</script>

 views/Contact.vue

<template><div><h1>Contact Page</h1></div>
</template><script setup>
import { defineComponent } from 'vue';export default defineComponent({name: 'Contact'
});
</script>

App.vue 

<template><div id="app"><router-link to="/">Home</router-link> |<router-link to="/about">About</router-link> |<router-link to="/contact">Contact</router-link><keep-alive :include="cachedViews"><router-view></router-view></keep-alive><div><h2>Cached Views</h2><ul><li v-for="view in cachedViews" :key="view">{{ view }}<button @click="removeCachedView(view)">Remove</button></li></ul></div></div>
</template><script setup>
import { ref, watch } from 'vue';
import { useRoute } from 'vue-router';const route = useRoute();
const cachedViews = ref([]);// 监听路由变化,动态添加缓存视图
watch(() => route.name,(newName) => {if (newName && !cachedViews.value.includes(newName)) {cachedViews.value.push(newName);}},{ immediate: true }
);// 删除缓存视图
const removeCachedView = (view) => {const index = cachedViews.value.indexOf(view);if (index !== -1) {cachedViews.value.splice(index, 1);}
};
</script>
main.js
import { createApp } from 'vue';
import App from './App.vue';
import router from './router';const app = createApp(App);
app.use(router);
app.mount('#app');
代码解释
  1. 路由配置:在 router/index.js 中定义了三个路由:HomeAbout 和 Contact
  2. 组件定义:在 views 目录下创建了对应的组件,并为每个组件设置了 name 属性。
  3. App.vue 组件
    • 使用 keep-alive 组件并通过 :include 绑定 cachedViews 数组,来控制哪些组件需要被缓存。
    • 使用 watch 监听路由变化,当路由切换时,如果新路由对应的组件名称不在 cachedViews 数组中,则将其添加进去。
    • 提供了一个列表展示当前缓存的组件名称,并为每个名称添加了一个删除按钮,点击按钮调用 removeCachedView 方法从 cachedViews 数组中移除对应的组件名称。

通过以上代码,你可以实现动态添加和删除需要缓存的路由组件。

http://www.dtcms.com/wzjs/200095.html

相关文章:

  • 关于做网站书籍在线网页制作系统搭建
  • 政府门户网站建设意义安徽网络推广和优化
  • 卢湾网站开发培训网络销售就是忽悠人
  • 网站设计例子市场营销毕业论文5000字
  • 衡粘水佩网站建设黄页88推广多少钱一年
  • 比较大的建站公司百度搜索推广费用
  • 中国医院建设协会网站电商网站卷烟订货流程
  • 开发企业网站要多少小时微信seo是什么意思
  • 东莞住房和城乡建设部网站网络营销带来的效果
  • 兰州响应式网站建设兰州seo快速优化报价
  • php网站 数据库链接百度广告推广费用
  • 模拟网站建设软件贵阳网站建设制作
  • 个人租用境外服务器网站关键字优化价格
  • 如何用微信建设网站卖东西竞价托管优化公司
  • 北京的网站建设公司教育培训报名
  • 齐河县建设局网站百度学术官网入口网页版
  • 网站开发团队要几个人如何做网络推广人员
  • 网站建设熊掌号里属于什么领域优化大师怎么卸载
  • 广州做外贸网站的公司简介百度登陆
  • 自己的网站怎么做团购杭州网站优化推荐
  • 2002年网站建设公司外贸网站建设推广
  • 网站备案如何取消接入成人用品推广网页
  • 网站没续费会怎样网站推广怎么做才有效果
  • 简述制作h5的基本流程移动端优化
  • centos做网站服务器东莞企业网站排名
  • 南昌商城网站建设seo是什么服务器
  • 厦门网站关键词推广上海百度推广客服电话多少
  • 哈尔滨网站建设公司新冠咳嗽怎么办
  • 沈阳网站设计百度重庆营销中心
  • 网站备案时要不要关闭如何在百度上开店铺