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>
  • 相关阅读:
    webpack4.0--安装操作
    刮刮卡制作思路--canvas
    Webpack 基础了解
    音量控制条demo,拖拽定位,点击定位
    我收到过的最好的职场建议——Nicholas C. Zakas
    跨域通信--Window.postMessage()
    小球沿贝塞尔二阶曲线的运动
    ES6 简写方式
    React 基础编写
    数据结构(十三)— 树结构之二叉树
  • 原文地址:https://www.cnblogs.com/taozhibin/p/13122253.html
Copyright © 2011-2022 走看看