zoukankan      html  css  js  c++  java
  • vue-使用keep-alive优化网页性能

    export default{
      name: 'Home',
      data () {
        return {
          iconList: [],
          recommendList: [],
          swiperList: [],
          weekendList: []
        }
      },
      components: {
        HomeHeader,
        HomeSwiper,
        HomeIcons,
        HomeRecommend,
        HomeWeekmend
      },
      methods: {
        getHomeInfo () {
          axios.get('/api/index.json')
            .then(this.getHomeInfoSucc)
        },
        getHomeInfoSucc (res) {
          if (res.data.ret && res.data.data) {
            const data = res.data.data
            this.iconList = data.iconList
            this.recommendList = data.recommendList
            this.swiperList = data.swiperList
            this.weekendList = data.weekendList
          }
        }
      },
      mounted () {
        this.getHomeInfo()
      }
    }
    </script>

    每次从city页切换回home页面的时候mounted这个钩子都会执行,ajax都会被重新获取,性能需要优化。

    用keep-alive,keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。

    app.vue

    <template>
      <div id="app">
        <kepp-alive>
          <router-view/>
        </kepp-alive>
      </div>
    </template>
    
    <script>
    export default {
      name: 'App'
    }
    </script>

      keep-alive生命周期钩子函数:activated、deactivated,使用<keep-alive>会将数据保留在内存中,如果要在每次进入页面的时候获取最新的数据,需要在activated阶段获取数据,承担原来created钩子中获取数据的任务。

  • 相关阅读:
    Linux系统_Linux平台“盖茨木马”初步了解
    查杀病毒的NB命令
    rabbitmq 常用的一些命令
    date 修改系统时间
    mkpasswd
    关于haproxy负载均衡的算法整理
    MySQL数据表中内容大小写区分的设置
    查看某个端口的连接数
    rabbitmq
    mysqldump 报导常
  • 原文地址:https://www.cnblogs.com/superlizhao/p/9676071.html
Copyright © 2011-2022 走看看