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

深圳罗湖企业网站建设百度推广竞价

深圳罗湖企业网站建设,百度推广竞价,做网站需要多大的图片,网站常用的优化方法keep-alive缓存文章列表案例完整代码(Vue2) 环境准备目录结构完整代码main.jsApp.vueArticleList.vueArticleDetail.vuerouter.js Vue3 版本 环境准备 先创建一个 vue2 项目 vue create 项目名安装 vue-router,vue2 是 3,vue3 是…

keep-alive缓存文章列表案例完整代码(Vue2)

  • 环境准备
  • 目录结构
  • 完整代码
    • `main.js`
    • `App.vue`
    • `ArticleList.vue`
    • `ArticleDetail.vue`
    • `router.js`
  • Vue3 版本

环境准备

先创建一个 vue2 项目

vue create 项目名

安装 vue-router,vue2 是 3,vue3 是 4

npm insatll vue-router@3

目录结构

在这里插入图片描述

完整代码

main.js

这里要注册路由

import Vue from "vue";
import App from "./App.vue";
import router from "./router";Vue.config.productionTip = false;new Vue({router,render: (h) => h(App),
}).$mount("#app");

App.vue

两种写法:

  1. 可以用include里面写需要缓存的组件名称 name,这样的话就要在 router/index.js 中给组件写name。

    router/index.js

    routes: [{path: "/list",component: ArticleList,name: "ArticleList",},// ...
    

    App.vue

    <template><div>// <keep-alive :includes="['ArticleList',...]"><keep-alive includes="ArticleList"><router-view /></keep-alive></div>
    </template>
    
  2. 在 meta 中写明这个组件是否需要被缓存,然后在 Vue.js 中根据不同的值判断这个组件是否需要被 keep-alive 包裹,即是否被缓存。
    router/index.js

    routes: [{path: "/list",component: ArticleList,meta: { keepAlive: true },name: "ArticleList",},// ...
    

    App.vue

    <template><div><keep-alive><router-view v-if="$route.meta.keepAlive" /></keep-alive><router-view v-if="!$route.meta.keepAlive" /></div>
    </template>
    

ArticleList.vue

<template><div><div v-for="item in articles" :key="item.id" class="item"><router-link :to="{ name: 'ArticleDetail', query: { id: item.id } }">{{ item.title }}</router-link></div></div>
</template><script>
export default {name: "ArticleList",data() {return {articles: [],scrollTop: 0,};},mounted() {// console.log("mounted");this.articles = this.fakeFetch();window.addEventListener("scroll", this.handleScroll);},// 进入文章列表页面时activated() {this.$nextTick(() => {// console.log("activated:", this.scrollTop);window.scrollTo(0, this.scrollTop);window.addEventListener("scroll", this.handleScroll);});},// 离开文章列表页面时deactivated() {// console.log("deactivated:" + this.scrollTop);// 将当前的位置保存下来window.removeEventListener("scroll", this.handleScroll);},methods: {fakeFetch() {return Array.from({ length: 100 }, (_, i) => ({id: i + 1,title: "文章标题 " + (i + 1),}));},handleScroll() {this.scrollTop = window.scrollY || document.documentElement.scrollTop;// console.log("滚动位置:", this.scrollTop);},},
};
</script><style>
.item {padding: 16px;border-bottom: 1px solid #eee;
}
</style>

ArticleDetail.vue

<template><div><h2>文章详情 {{ $route.query.id }}</h2><p>内容详情...</p><router-link to="/list">返回列表</router-link></div>
</template>
<script>
export default {name: "ArticleDetail",mounted() {// 模拟请求内容console.log("详情页 mounted,ID:", this.$route.query.id);},
};
</script>

router.js

import Vue from "vue";
import Router from "vue-router";
import ArticleList from "@/components/ArticleList.vue";
import ArticleDetail from "@/components/ArticleDetail.vue";Vue.use(Router);export default new Router({routes: [{path: "/list",component: ArticleList,meta: { keepAlive: true },name: "ArticleList",},{path: "/detail",component: ArticleDetail,meta: { keepAlive: false },name: "ArticleDetail",},],
});

Vue3 版本

keep-alive缓存文章列表案例完整代码(Vue3)

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

相关文章:

  • 福州建设工程协会网站查询电商网站开发平台有哪些
  • 徐州免费建站模板数字营销软件
  • 全景网站制作网站怎么做出来的
  • 网站页面设计网页说明百度竞价点击软件奔奔
  • 网站审批需要什么手续seo排名软件免费
  • 学校网站建设的意见搜索引擎官网
  • 安丘网站建设公司seo一个月工资一般多少
  • 巴中住房和城乡建设局网站水果营销软文
  • 外贸网络推广是什么郑州seo技术服务
  • 网站后台难做么广州市口碑seo推广外包
  • 学习做网站难吗外链推广网站
  • 如何下载网站模版小学生一分钟新闻播报
  • 门户网站模板下载竞价推广怎样管理
  • 项目投资网专业seo优化公司
  • 惠州专业网站制作公司好的竞价账户托管外包
  • 怎么做网站编程朔州网站seo
  • 电子商务网站设计怎么做企业网站设计模板
  • 江苏公众科技网站建设上街网络推广
  • 沈阳网站排名工具用网站模板建站
  • 公司网站设计解决方案互联网
  • 珠海自助建站国外seo网站
  • 做兼职的设计网站有哪些软文营销策划
  • 北京好的做网站的公司哪家好网络营销就业前景和薪水
  • 建设外贸独立网站企业网站排名优化价格
  • 淄博做网站建设的公司无锡网络推广平台
  • anwsion wordpress冯耀宗seo教程
  • 电子印章在线制作网站网站优化排名软件网
  • 传媒公司做网站编辑_如何?目前推广平台都有哪些
  • 适合宝妈做兼职的网站电商推广方案
  • 在那里做网站黑帽seo寄生虫