首頁 web前端 js教程 vue生命週期鉤子鉤子函數的介紹(附範例)

vue生命週期鉤子鉤子函數的介紹(附範例)

Nov 27, 2018 pm 04:09 PM
github javascript laravel mysql nginx

這篇文章帶給大家的內容是關於vue生命週期鉤子鉤子函數的介紹(附範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

Vue實例的生命週期鉤子函數(8個)

1、beforeCreate

  剛new了一個元件,無法存取資料和真實的dom,基本上這個好像不能幹啥

2、created

   data屬性完成了賦值,可以對資料進行修改但是不會觸發updated,在這裡可以做初始資料的獲取

3、beforeMount

   render準備要渲染了,函數中虛擬dom已經創建完成,這時候改變數據也不會觸發update,在這裡可以做初始數據的獲取

4、mounted

   開始render,渲染出真實dom,執行mounted鉤子函數,元件已經出現在頁面中,數據,事件,都DOM都處理好了。這裡你可以改是進行真實的DOM操作

5、beforeUpdate

   元件,實例資料更新前會執行的函數,虛擬DOM會重新建構虛擬DOM,與上一次的虛擬DOM對比後重新渲染。切記不可進行資料修改否則會出現死迴圈

6、updated

   更新完會執行的函數,切記不可進行資料修改否則會出現死迴圈

#7、 beforeDestroy

   實例被銷毀之前會執行的函數,做善後的工作,清除計時器,清除非指令綁定的事件等等

8、destroyed

   實例被銷毀後會執行的函數,也可以做善後工作。

<template>
  <div class="hello">
   Hello World!
  </div>
</template>
<script>
export default {
  name: "HelloWorld",
  data() {
    return {
      msg: "Welcome to Your Vue.js App"
    };
  },
  beforeCreate: function() {
    console.log("data属性光声明没有赋值的时候");
  },
  created: function() {
    console.log("data属性完成了赋值");
  },
  beforeMount: function() {
    console.log("页面上的{{name}}还没有被渲染成真正的数据");
  },
  mounted: function() {
    console.log("页面上的{{name}}被渲染成真正的数据");
  },
  beforeUpdate: function() {
    console.log(" 数据(data属性)更新之前会执行的函数");
  },
  updated: function() {
    console.log("数据(data属性)更新完会执行的函数");
  },
  beforeDestroy: function() {
    console.log("实例被销毁之前会执行的函数");
  },
  destroyed: function() {
    console.log("实例被销毁后会执行的函数");
  }
};
</script>

<style scoped>
</style>
console这样一个输出顺序:
登入後複製

大概這樣一個 生命週期鉤子函數執行的順序,包括我之前是用angular開發跟vue一樣 他也有自己的生命週期鉤子函數。

生命週期簡單來說就是一個元件從創建到初始化到銷毀的一個過程,在這個過程中有這些生命週期鉤子函數我們可以更方便的去操作整一個元件。


以上是vue生命週期鉤子鉤子函數的介紹(附範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
在MySQL中解釋外鍵的目的。 在MySQL中解釋外鍵的目的。 Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

比較和對比Mysql和Mariadb。 比較和對比Mysql和Mariadb。 Apr 26, 2025 am 12:08 AM

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

哪些數據庫版本與最新的Laravel兼容? 哪些數據庫版本與最新的Laravel兼容? Apr 25, 2025 am 12:25 AM

最新版本的Laravel10與MySQL5.7及以上、PostgreSQL9.6及以上、SQLite3.8.8及以上、SQLServer2017及以上兼容。這些版本選擇是因為它們支持Laravel的ORM功能,如MySQL5.7的JSON數據類型,提升了查詢和存儲效率。

php框架laravel和yii區別是什麼 php框架laravel和yii區別是什麼 Apr 30, 2025 pm 02:24 PM

Laravel和Yii的主要區別在於設計理念、功能特性和使用場景。 1.Laravel注重開發的簡潔和愉悅,提供豐富的功能如EloquentORM和Artisan工具,適合快速開發和初學者。 2.Yii強調性能和效率,適用於高負載應用,提供高效的ActiveRecord和緩存系統,但學習曲線較陡。

nginx和apache:了解關鍵差異 nginx和apache:了解關鍵差異 Apr 26, 2025 am 12:01 AM

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

GitHub:代碼託管,協作和版本控制 GitHub:代碼託管,協作和版本控制 Apr 25, 2025 am 12:23 AM

GitHub是一個基於Git的分佈式版本控制系統,提供了版本控制、協作和代碼託管的核心功能。 1)創建倉庫、克隆、提交和推送更改是基本用法。 2)高級用法包括使用GitHubActions進行自動化、GitHubPages部署靜態網站和使用安全功能保護代碼。 3)常見錯誤如合併衝突、權限問題和網絡連接問題可以通過手動解決衝突、聯繫倉庫所有者和設置代理來調試。 4)優化工作流程的方法包括使用分支策略、自動化測試和CI/CD、代碼審查以及保持文檔和註釋清晰。

MySQL:數據庫,PHPMYADMIN:管理接口 MySQL:數據庫,PHPMYADMIN:管理接口 Apr 29, 2025 am 12:44 AM

MySQL和phpMyAdmin可以通過以下步驟進行有效管理:1.創建和刪除數據庫:在phpMyAdmin中點擊幾下即可完成。 2.管理表:可以創建表、修改結構、添加索引。 3.數據操作:支持插入、更新、刪除數據和執行SQL查詢。 4.導入導出數據:支持SQL、CSV、XML等格式。 5.優化和監控:使用OPTIMIZETABLE命令優化表,並利用查詢分析器和監控工具解決性能問題。

怎樣卸載MySQL並清理殘留文件 怎樣卸載MySQL並清理殘留文件 Apr 29, 2025 pm 04:03 PM

要安全、徹底地卸載MySQL並清理所有殘留文件,需遵循以下步驟:1.停止MySQL服務;2.卸載MySQL軟件包;3.清理配置文件和數據目錄;4.驗證卸載是否徹底。

See all articles