vue生命周期鉤子函數

来源:https://www.cnblogs.com/helloWorldzsj/archive/2022/05/01/16213298.html
-Advertisement-
Play Games

鉤子函數 說明 beforeCreate 在實例初始化之後,數據觀測和watch/event事件配置之前被調用 created 在實例創建完成後被立即調用,在這一步,實例已經完成數據觀測、屬性和方法的運算,以及watch/event事件回調。掛載階段還未開始,$el屬性尚不可用。多用於初始化數據或方 ...


鉤子函數 說明
beforeCreate 在實例初始化之後,數據觀測和watch/event事件配置之前被調用
created 在實例創建完成後被立即調用,在這一步,實例已經完成數據觀測、屬性和方法的運算,以及watch/event事件回調。掛載階段還未開始,$el屬性尚不可用。多用於初始化數據或方法
mounted 實例被掛載後調用,這時el被新創建的vm.\(el替換。如果實例掛載到了一個文檔內的元素,當mounted被調用時,vm.\)el也在文檔內。在模板渲染成html後使用(初始化頁面完成後,再對dom節點進行一些需要的操作)
beforeUpdate 數據更新時調用。適合在更新前訪問現有的DOM,比如手動移除已添加的事件監聽器
updated 數據修改會導致虛擬DOM重新渲染,在渲染後調用
activated 被keep-alive緩存的組件激活時調用
deactivated 被keep-alive緩存的組件停用時調用
beforeDestroy 實例銷毀之前調用,在這一步,實例仍然可用
destroyed 實例銷毀後調用。該鉤子被調用後,對應vue實例的所有指令都被解綁,所有的事件監聽器被移除,所有的子實例也都被銷毀
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>生命周期鉤子函數</title>
    </head>
    <body>
        <div id="app">
            <p>{{msg}}</p>
        </div>
        <!--引入vue文件-->
        <script src="https://unpkg.com/vue@next"></script>
        <script>
            //創建一個應用程式
            const vm = Vue.createApp({
                data(){
                    return{
                        msg: '白日依山盡,黃河入海流'
                    }
                },
                beforeCreate(){
                    console.log('beforeCreate');
                },
                created(){
                    console.log('created');
                },
                beforeMount(){
                    console.log('beforeMount');
                },
                mounted(){
                    console.log('mounted');
                },
                beforeUpdate(){
                    console.log('beforeUpdate');
                },
                updated(){
                    console.log('updated');
                }
            }).mount('#app');
        setTimeout(function(){
            vm.msg = '無邊落木蕭蕭下,不盡長江滾滾來';
        },4000);
        </script>
    </body>
</html>

運行以上代碼,可以在網頁控制台看到內容改變前列印了前四個函數,之後內容改變之後又列印了最後兩個函數。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一個工作了6年的Java程式員,在阿裡二面,被問到“volatile”關鍵字。 然後,就沒有然後了… 同樣,另外一個去美團面試的工作4年的小伙伴,也被“volatile關鍵字“。 然後,也沒有然後了… 這個問題說實話,是有點偏底層,但也的確是併發編程裡面比較重要的一個關鍵字。 下麵,我們來看看普通人 ...
  • 在幾年前windows10系統就註意到,藍牙耳機連接windows電腦後會出現兩個模式,一個是Hands-free AG Audio(即免提模式,以下簡稱Hands-free),一個是stereo(立體聲模式),並且發現只有Hands-free模式才能使用耳機的麥克風,但是音質會差好多,stereo ...
  • 簡介 container_of(ptr, type, member)是內核中的經典函數之一。該函數的作用是:根據結構體中一個成員的地址,找到結構體的地址。這個函數是內核實現面向對象的基礎設施,且最近在學習中經常見到這個函數,於是筆者在內核中查看了該函數的實現,故在此記錄。本文原本是為了展示conta ...
  • CentOS7 安裝MYSQL5.7 [詳細過程] YUM 安裝 1.從mysql官網獲取 yum 倉庫 [root@stone tmp]# wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm' 2. ...
  • 導讀: 本次分享的內容為圖深度學習在自然語言處理領域的方法與應用,主要內容和素材都來自於我們Graph4NLP團隊的一篇調研文章:Graph Neural Networks for Natural Language Processing:A Survery,以及我們團隊所開發的Graph4NLP的p ...
  • MapReduce Hadoop中將數據切分成塊存在HDFS不同的DataNode中,如果想彙總,按照常規想法就是,移動數據到統計程式:先把數據讀取到一個程式中,再進行彙總。 但是HDFS存的數據量非常大時,對彙總程式所在的伺服器將產生巨大壓力,並且網路IO也十分消耗資源。 為瞭解決這種問題,Map ...
  • 許可權表 MySQL 伺服器通過許可權表來控制用戶對資料庫的訪問,由 mysql_install_db 腳本初始化,MySQL 會根據這些許可權表的內容為每個用戶賦予相應的許可權 1. user 表 user 表是 MySQL 最重要的一個許可權表,有 49 個欄位,這些欄位可以分成四類: 範圍列:包括 Ho ...
  • 終於算是順利進入vue了,確實也只有學了過後才知道,之前三過vue而不學,確實是對的,現在進來了一點都不後悔,ajax、node.js、promise、webpack、git等等確實是除了三大基礎外還需要額外學的。 終於能夠一窺vue的真容了,學了這麼久,說實話一直都忍著,不去觸碰這一條線,就想留著 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...