vue性能和先后加载

下面执行顺序为弹出1,33,3,2

vue性能和先后加载

 

 也就是说监听虚拟dom的vue项目,首先执行created,mounted,然后返回给真实dom的文档加载,然后再是所有文档加载完毕。

再来看来<keep-alive>组件:

vue性能和先后加载

讲不通就上代码:

<template>
  <div id="app">
    {{state}}
    <keep-alive>
      <A v-show="state=='A'" />
      <B v-show="state=='B'" />
      <C v-show="state=='C'" />
    </keep-alive>
    <el-button @click="state='A'">a</el-button>
    <el-button @click="state='B'">b</el-button>
    <el-button @click="state='C'">c</el-button>
    <div>
      <router-link to="/sublime">sublime</router-link>
      <router-link to="/active">active</router-link>
      <router-view></router-view>
    </div>
  </div>
</template>

<script>
// window.onload = function() {
//   alert(2)
// }
// document.addEventListener('DOMContentLoaded', function() {
//   alert(3)
// })
import A from './components/a.vue'
import B from './components/b.vue'
import C from './components/c.vue'
export default {
  created() {
    alert(1)
  },
  mounted() {
    alert(33)
  },
  destroyed() {
    console.log(this.state, 'destroyed')
  },
  components: {
    A,
    B,
    C
  },
  data() {
    return {
      state: 'A'
    }
  }
}

  

vue性能和先后加载

 

 

另外,router的跳转其实也是会销毁组件的。

 vue性能和先后加载

 

上一篇:Ant Design Pro V5 修改缺省的页脚内容


下一篇:2021必修 CSS架构系统精讲 理论+实战玩转蘑菇街