Vue中的mounted函數(shù)是一個重要的生命周期函數(shù),它在Vue實(shí)例掛載到DOM上后被立即調(diào)用,正式開啟Vue的生命周期。
mounted() { // 代碼邏輯 }
在mounted函數(shù)中,我們可以使用Vue實(shí)例的所有屬性和方法,同時也能夠訪問Vue實(shí)例所掛載的DOM元素。
Vue實(shí)例中的mounted函數(shù)通常被用于實(shí)現(xiàn)以下功能:
1. 通過AJAX請求獲取數(shù)據(jù),并在Vue實(shí)例中進(jìn)行處理和展示
mounted() { axios.get('/api/data') .then(response =>{ this.data = response.data; }) .catch(error =>{ console.log(error); }); }
2. 對DOM進(jìn)行操作,如綁定事件、初始化插件等。
mounted() { this.$nextTick(() =>{ // 初始化插件 $('.carousel').carousel(); // 綁定事件 $('button').on('click', () =>{ // 代碼邏輯 }); }) }
3. 對Vue實(shí)例中的屬性進(jìn)行初始化,如設(shè)置定時器、計(jì)算屬性等。
mounted() { setInterval(() =>{ this.time = new Date().toLocaleTimeString(); }, 1000); }, computed: { priceWithDiscount() { return this.price * (1 - this.discount); } }
需要注意的是,mounted函數(shù)并不保證在子組件的mounted函數(shù)之前被調(diào)用,如果需要保證順序,可以使用Vue中的$nextTick函數(shù)。
另外,如果需要在Vue實(shí)例銷毀時清除定時器、解綁事件等操作,可以使用beforeDestroy函數(shù)。
beforeDestroy() { clearInterval(this.timer); $('button').off(); }
總之,Vue的mounted函數(shù)是一個非常重要的生命周期函數(shù),通過它我們可以實(shí)現(xiàn)很多功能。