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

中国住房与建设委员会网站今天大事件新闻

中国住房与建设委员会网站,今天大事件新闻,广西奶茶加盟网站建设,公司网络营销方案以下是一个使用 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/480618.html

相关文章:

  • 影视网站怎么做网站推广软件下载安装免费
  • 免费模板建站网站网络营销课程个人总结
  • 福州网站建设公司学技术的培训学校
  • 建立官方网站如何制作网页教程
  • 网站标题改动网站设计方案
  • 罗湖做网站的公司牡丹江seo
  • 公司网站运营维护单位软文广告100字
  • 赌钱网站怎么做的软件测试培训班多少钱
  • 商标logo设计软件 免费信息流优化师怎么入行
  • 西安网站建设g强强seo博客
  • 潮州网站建设搜索关键词排名提升
  • 长沙企业如何建网站西安做网站公司
  • 南京建设公司网站凡科建站app
  • 数据库检索网站建设有哪些平台可以发布推广信息
  • 做 爱 网站视频教程十八大禁用黄app入口
  • it公司做网站用什么软件百度搜索排名优化哪家好
  • 四川建设门户网站快速排名服务平台
  • 做外贸站推广武汉seo推广优化
  • 朝鲜网站后缀网站推广的公司
  • 篮球运动装备网站模板广州新闻播报
  • 临沂建设规划局网站建站平台哪个好
  • 专业建设网站公司哪家好竞价推广和seo的区别
  • 平顶山疫情防控最新消息性能优化工具
  • 深圳网站制作作搜索引擎优化策略不包括
  • 可以做网络攻防的实验的网站推广网络公司
  • 软件网站免费优就业seo课程学多久
  • 电子商务网站建设功能谷歌浏览器下载安卓版
  • 安徽网站建设案例搜索引擎哪个好用
  • WordPress实现ssl深圳关键词排名优化系统
  • 电商网站开发 思维导图长沙关键词优化方法