Vue 中的生命周期和鈎子函數


生命周期: 
beforeCreate:el 和 data 並未初始化 (此方法不常用) 
created:完成了 data 數據的初始化,el的初始化未完成。用來發送ajax

beforeMount:(執行此方法時已經完成了 el 和 data 初始化 (已經賦予了對應的值)) 
渲染DOM之前先確認下是否有要編譯的根元素(有無el屬性),有才繼續確認是否具有模板屬性template,如果有模版屬性,則會用template的值替換掉HTML中的結構,template模版中只能有一個根元素(而且不能是文本); 
mounted:(執行此方法時代表已經掛載結束了) 
把編譯好的數據掛載到DOM元素上,最后渲染成真實的DOM元素;真實DOM已經渲染完成,可以操作DOM了

beforeUpdate:當頁面依賴的數據更改之后觸發(此時DOM結構還沒有重新加載) 
updated:DOM結構重新加載之后觸發

調用vm.$destroy()之后觸發下面兩個事件: 
beforeDestroy:實例銷毀之前調用。在這一步,實例仍然完全可用。(可在此處清除定時器,清除事件綁定) 
destroyed:Vue 實例銷毀后調用。調用后,Vue 實例指示的所有東西都會解綁定,所有的事件監聽器會被移除,所有的子實例也會被銷毀。(意義不大)

獲取數據

vue中給我們提供了一個created函數,在實例創建完成后會被立即調用。方法中的this指向的也是vue的實例

let vm=new Vue({
     el:'#app',
     created(){
       //實例創建完成后會立即執行created方法
       this->vm這個實例
     },
     data:{
        msg:''
     }
});

Promise詳解與axios的使用

promise:解決回調問題,存在三個狀態(成功、失敗、等待) 
Promise是一個類,new Promise時可傳遞一個函數,在new 的時候就調用傳遞進來的函數,而且會給函數默認傳遞兩個參數(都是函數數據類型的)

  • 第一個參數為成功后要執行的方法
  • 第二個參數為失敗后要執行的方法

Promise的實例都有一個then方法:then方法中有兩個參數(成功執行的函數,失敗執行的函數)

let a=new Promise((resolve,reject)=>{
        let a=1,b=3;
        if(a<b){
        //條件滿足時我們讓resolve執行並傳入需要的參數
            resolve('條件滿足');
            //resolve執行時then方法中的第一個參數(函數)就會執行
        }else{
        //條件不滿足時我們讓reject執行
            reject('條件不滿足');
            //reject執行時,then方法中的第二個參數(函數)就會執行
        }
    })
a.then((res)=>{
    //我們在promise中規定什么時候執行resolve,此方法就什么時候執行,res為執行resolve時傳遞的參數
    console.log(res);//條件滿足 
},(err)=>{
    //我們在promise中規定什么時候執行reject,此方法就什么時候執行,err為執行reject時傳遞的參數
    console.log(err);
})

axios就是基於Promise進行封裝的:使用方法如下 
先引入axios:

 <script src="axios.js"></script>
 <script>
 //使用axios:axios調用get方法后會返回Promise的一個實例,可以直接用then方法
    axios.get('json/1.json').then((res)=>{
//axios成功后會執行的方法中的傳遞的參數為一個對象,如果要獲取到需要的數據,需要用res.data;
       console.log(res.data);
    },(err)=>{
       console.log(err);
    })
 </script>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM