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

长沙网站建设制作企业vi设计策划公司企业vi设计公司

长沙网站建设制作,企业vi设计策划公司企业vi设计公司,鞍山信息港号吧,个人做网站有什么条件以下是一个使用 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/a/426434.html

相关文章:

  • 嘉峪关做网站网站程序是什么
  • 南宫企业做网站百度关键词推广公司
  • 海外医疗兼职网站建设网站规划与设计论文
  • vue.js合作做网站么广元市利州区建设局网站
  • 好看的商城网站设计美食网站建设页面要求
  • 怎么自己建立一个网站后台wordpress漫画模板下载
  • 个人网站备案申请搜索引擎营销简称为
  • 阳谷网站建设公司网站开发公司怎么能接到单子
  • 个人建站除了wordpress室内设计联盟网
  • 西安手机网站制作网站打开速度太慢
  • 做网站建设的好处网站设计注意因素
  • 做仿牌网站被封视频拍摄收费标准
  • 外国的贸易网站建设银行镇海支行网站
  • 注册免费网站区域名成都建站模板网站制作
  • 玉树市公司网站建设北京网站开发招聘
  • 常州微信网站建设信息互联网定制开发
  • 删除wordpress版权兰州网站排名优化公司
  • 用flex做的网站新能源电动汽车哪个牌子的质量好
  • 蓬莱住房和规划建设管理局网站广西医院的网站建设
  • 陶瓷网站建设平面设计师用的网站
  • 旅游网站开发工具盐城做企业网站多少钱
  • 如何做网站主页附近做app的公司
  • 源码商城网站源码wordpress 时区问题
  • 企业网站的建设一般要素有网站建设业务好做吗
  • 济南手机网站建设公司报价99到家网站怎么做
  • 交流稿 网站建设家庭网络组建方案
  • 玉环网站制作做电子相册的大网站
  • 质量好网站建设公司基于站点的网络营销方法
  • 电子信息工程系部网站建设方案自驾游黄山风景区旅游攻略
  • 国外做储物柜的网站商城网站建设推荐