zoukankan      html  css  js  c++  java
  • 7.Vue_____keep-alive(结合路由)

    1、keep-alive这个内置组件,因为会把数据保存到内存中,所以不会销毁组件也不会重新渲染组件
    通过路由切换组件得话组件是不会被从新销毁和渲染得

    2、因为本身keep-alive可以实现缓存
    告诉keep-alive要缓存那个组件中得数据
    属性值得值都是正则表达式(匹配得组件数据才会缓存)或字符串(只缓存当前组件中得数据)
    include:需要缓存谁
    exclude:不缓存谁

    3、当使用keep-alive得时候,因为组件是被存放在内存中的,所以不会触发created钩子函数,也就意味着不能再这个钩子函数中获取数据等得一系列操作
    这个时候可以使用keep-alive得钩子函数来实现,activated(是再进入这个组件时触发得)和deactivated(是再离开这个组件时触发得)

    例:

    //父亲
    <template> <div id='app'> <div> <router-link to="/">Home</router-link> <router-link to="/about">about</router-link> </div> <keep-alive include="Home"> <router-view></router-view> </keep-alive> </div> </template> <script> export default { name: 'App', } </script>
     //home组件
    
    <template>
        <div>
            我是home
            <input type="text">
        </div>
    </template>
    
    <script>
    export default {
        name:'Home',
         beforeDestroy () {
             console.log("home 销毁")
         },
           activated () {
              console.log("你来了") 
         },
         deactivated () {
           console.log("nizoule1")
         }
    }
    </script>
    //about组件
    
    <template>
        <div>
            我是abuot
             <input type="text">
        </div>
    </template>
    
    <script>
    
    export default {
        name:'About',
          beforeDestroy () {
             console.log("about销毁")
         }
    }
    </script>
  • 相关阅读:
    Centos系统通过tar.gz包安装Mysql5.7
    每日编程系列——洗牌
    每日编程系列——硬币找零
    每日编程系列———计算糖果
    每日编程系列———买苹果
    每日编程系列———最大奇约数
    Java包装类缓存
    每日编程系列——数字翻转
    Java自动装箱和拆箱
    Java中日志框架使用
  • 原文地址:https://www.cnblogs.com/taozhibin/p/13122253.html
Copyright © 2011-2022 走看看