Vue 生命週期 笔记

Vue 生命週期

beforeCreate

$el, $data, DOM 都未载入此时会建立 Props,因此 Props 的 default & validation 是取不到 data/computed 的用途: 展示 Loading 画面勿在此 Call API ,无论 API 回应速度,该回应还是会在 created 才被处理,因还未有 $data 可以储存该资料server-side rendering 时会被呼叫
  el: '#app',  data(){ return { a: 123, } },  beforeCreate() {    console.log(this.a) // undefined    console.log('$data 载入前')  },

created

$el, DOM 都未载入,$data 已可使用用途: 初始化资料、AJAX Callserver-side rendering 时会被呼叫
  data(){ return { a: 123, } },  created() {    console.log(this.a) // 123 (data 可被取得)    console.log('$data 载入后,但 $el 还未载入')  },

beforeMount

$data 已载入 (此生命週期较少用到)server-side rendering 时 不会 被呼叫
  beforeMount() { console.log('还未挂载 DOM') },

mounted

$el, $data, DOM 皆载入用途: 渲染画面、挂载监听器server-side rendering 时 不会 被呼叫
  mounted() {     console.log('DOM 已可使用,在此做更动、渲染')   },

beforeUpdate

当 相依资料更新、或需重新渲染 时触发,在 DOM 重新渲染之前此时为 修改资料的最后时机用于 debugging 监控何时元件被重新渲染
  beforeUpdate() {     console.log('在此可以取得已更新的资料')    console.log('但新的 DOM 还未被渲染')   },

updated

当 相依资料更新、或需重新渲染 时触发,重新渲染 DOM 之后在此取得已更新的 DOM
  updated() { console.log('新的 DOM 已渲染完成') },

beforeDestroy

watchers / 子元件 / 事件监听 被摧毁之前此时 元件还是可以正常运行用途: 在此清除 事件监听、订阅资料
  beforeDestroy() { alert('你确定要删除') },

destroyed

不代表网页上渲染的元素会消失,只是该元素会与 Vue 实体脱钩,不再接收控制解除 watchers / 事件监听 / 清除子元件 之后可用来告知 伺服器,此元件已被清除
  destroyed() { console.log('该实例已被摧毁') },

参考资料

Understanding Vue.js LifeCycle Hooks详解vue生命週期

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章