vue 页面mounted created函数不执行的问题及解决方法

第一次跳转页面没有问题 返回去后在点击跳转就不执行created 和mouted钩子函数里的方法

//vue生命周期
        beforeCreate () {
    console.log('在实例初始化之前调用')
  }
  created () {
    console.log('在实例初始化之后调用,经常用于操作数据,发起ajax请求')
  }
  beforeMount () {
    console.log('在挂载开始之前被调用,如果是在服务器端渲染时不被调用;在这个函数里,无法获取元素')
  }
  mounted () {
    console.log('在挂载后被调用,也不能在服务器端渲染时被调用;这个函数里,是可以获取元素,并进行操作的')
  }
  beforeUpdate () {
    console.log('视图层数据更新前调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM')
  }
  updated () {
    console.log('视图层数据更新后调用')
  }
  beforeDestroy () {
    console.log('实例销毁之前调用,在被销毁的组件中进行调用;有一些操作,会在实例已经销毁的时候还在运行,这时候为了性能考虑,就在这里结束哪些操作')
  }
  destroyed () {
    console.log('实例销毁后调用。')
  }
//解决思路
//activated和deactivated配合keep-alive标签使用!
  activated () {
    console.log('实例被激活时使用,用于重复激活一个实例的时候')
  }
  deactivated () {
    console.log('实例没有被激活时')
  }
//总结:
//keep-alive是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM;导致在组件mounted钩子中调用的刷新页面内容时,这个钩子没有被调用。
//故:使用Vue组件切换过程,执行钩子activated(keep-alive组件激活时调用),而不是挂载钩子mounted。

你可能感兴趣的:(vue 页面mounted created函数不执行的问题及解决方法)