VUE常用的鈎子函數


beforeCreate

這個時候,this變量還不能使用,在data下的數據,和methods下的方法,watcher中的事件都不能獲得到;

 beforeCreate() { console.log(this.page); // undefined console.log{this.showPage); // undefined }, data() { return { page: '第一頁' } }, methods: { showPage() { console.log(this.page); } } 

created

這個時候可以操作vue實例中的數據和各種方法,但是還不能對"dom"節點進行操作;

  ..., created() { let btn = document.querySelector('button') console.log(btn.innerText) //此時找不到button節點,打印不出來button的值 } 

mounted

這個時候掛載完畢,這時dom節點被渲染到文檔內,一些需要dom的操作在此時才能正常進行。
注意:mounted在整個實例的生命周期中只執行一次。

  ..., mounted() { let btn = document.querySelector('button') console.log(btn.innerText) //此時可以打印出來button的值 } 

computed

是把所有需要依賴其他值計算的值寫成對象的key值。

  data() { return { count: 1 } }, computed: { //是最后需要計算的值,而這個值依賴this.count //那么這個值要寫在對象的key值的位置 countDouble: { get: function() { return this.count * 2 }, set: function(newValue) { this.countDouble = newValue } } } 

這時候模板渲染的{{countDouble}}這個值是2

注意:通過計算的countDouble這個變量不需要在data里面聲明,如果聲明了就會報錯

watch

把監聽的值寫成對象的key值

 data() { return { count: 1 } }, watch: { count: (val, oldVal) => { console.log('new: %s, old: %s', val, oldVal) } } 

這時候如果this.count發生了改變,那么監聽count變量發生變化的function就會被執行

注意:需要監聽的這個變量需要在data里面聲明,如果不聲明就會報錯

 
 


免責聲明!

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



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