vue中methods、mounted等的使用方法解析
methods、mounted的使用方法
created:html加載完成之前,執(zhí)行。執(zhí)行順序:父組件-子組件mounted:html加載完成后執(zhí)行。執(zhí)行順序:子組件-父組件methods:事件方法執(zhí)行。watch:去監(jiān)聽(tīng)一個(gè)值的變化,然后執(zhí)行相對(duì)應(yīng)的函數(shù)。computed:computed是計(jì)算屬性,也就是依賴(lài)其它的屬性計(jì)算所得出最后的值
export default {
name: "draw",
data(){ //定義變量source
return {
source:new ol.source.Vector({wrapX: false}),
}
},
props:{ //接收父組件傳遞過(guò)來(lái)的參數(shù)
map:{
//type:String
},
},
mounted(){ //頁(yè)面初始化方法
if (map==map){
}
var vector = new ol.layer.Vector({
source: this.source
});
this.map.addLayer(vector);
},
watch: { //監(jiān)聽(tīng)值變化:map值
map:function () {
console.log('3333'+this.map);
//return this.map
console.log('444444'+this.map);
var vector = new ol.layer.Vector({
source: this.source
});
this.map.addLayer(vector);
}
},
methods:{ //監(jiān)聽(tīng)方法click事件等,執(zhí)行drawFeatures方法
drawFeatures:function(drawType){}
}
}vue生命周期(methods、mounted)
1.什么是生命周期
首先,我們了解一下"生命周期"這個(gè)詞。 通俗的來(lái)說(shuō),生命周期就是一個(gè)事務(wù)從出生到消失的過(guò)程。例如,一個(gè)人從出生到去世。 在vue中,vue的生命周期是指,從創(chuàng)建vue對(duì)象到銷(xiāo)毀vue對(duì)象的過(guò)程。
Vue實(shí)例有一個(gè)完整的生命周期,也就是從開(kāi)始創(chuàng)建、初始化數(shù)據(jù)、編譯模板、掛載Dom、渲染→更新→渲染、卸載等一系列過(guò)程,我們稱(chēng)這是Vue的生命周期。通俗說(shuō)就是Vue實(shí)例從創(chuàng)建到銷(xiāo)毀的過(guò)程,就是生命周期。
在Vue的整個(gè)生命周期中,它提供了一系列的事件,可以讓我們?cè)谑录|發(fā)時(shí)注冊(cè)js方法,可以讓我們用自己注冊(cè)的js方法控制整個(gè)大局,在這些事件響應(yīng)方法中的this直接指向的是vue的實(shí)例。
2.鉤子函數(shù)
【解釋】:
- 鉤子函數(shù)是Vue框架中內(nèi)置的一些函數(shù),隨著Vue的生命周期階段,自動(dòng)執(zhí)行
- 鉤子函數(shù)是Vue框架中內(nèi)置的一些函數(shù),隨著Vue的生命周期階段,自動(dòng)執(zhí)行
【作用】:
- 特定的時(shí)間,執(zhí)行特定的操作
- 特定的時(shí)間,執(zhí)行特定的操作
【分類(lèi)】:
- 四大階段,八大方法
| 階段 | 方法名 | 方法名 |
|---|---|---|
| 初始化 | beforeCreate | created |
| 掛載 | beforeMount | mounted |
| 更新 | beforeUpdate | updated |
| 銷(xiāo)毀 | beforeDestroy | destroyed |
3.Vue生命周期之初始化階段
【圖示】:

【代碼演示1】:
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<script src="js/vue.min.js"></script>
</head>
<body>
<div id="root">
<h2 :style="{opacity}">歡迎學(xué)習(xí)</h2>
{{ change() }}
</div>
</body>
<script type="text/javascript">
Vue.config.productionTip=false;
new Vue({
el:'#root',
data:{
opacity:1
},
methods:{
change(){
console.log('開(kāi)啟了一個(gè)定時(shí)器')
setInterval(()=>{
this.opacity-=0.01
if(this.opacity<=0)
{
this.opacity=1
}
},16)
}
}
})
</script>
</html>【代碼分析】:

【代碼演示2】:

<template>
? ?<div>
? ? ? ?<h3>生命周期函數(shù)</h3>
? ? ? ?<button @click="message='測(cè)試'">修改數(shù)據(jù)</button>
? ? ? ?<p>{{ message }}</p>
? ?</div>
</template><script>
? ? export default {
? ? ? ? name: "life",
? ? ? ? data(){
? ? ? ? ? ? return {
? ? ? ? ? ? ? ? message:"hello"
? ? ? ? ? ? }
? ? ? ? },
? ? ? ? beforeCreate()
? ? ? ? {
? ? ? ? ? ? console.log("beforeCreate -->創(chuàng)建前");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? created(){
? ? ? ? ? ? console.log("created -->創(chuàng)建后");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? beforeMount(){
? ? ? ? ? ? console.log("beforeMount --> 渲染前");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? mounted(){
? ? ? ? ? ? console.log("mounted --> 渲染后");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? beforeUpdate(){
? ? ? ? ? ? console.log("beforeUpdate --> 修改前");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? updated(){
? ? ? ? ? ? console.log("updated --> 修改后");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? beforeDestroy(){
? ? ? ? ? ? console.log("beforeDestroy --> 銷(xiāo)毀前");
? ? ? ? ? ? console.log(this.message);
? ? ? ? },
? ? ? ? destroyed(){
? ? ? ? ? ? console.log("destroyed --> 銷(xiāo)毀后");
? ? ? ? ? ? console.log(this.message);
? ? ? ? }
? ? }
</script>
?
<style scoped>
?
</style>以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
簡(jiǎn)單聊一聊vue中data的代理和監(jiān)聽(tīng)
這篇文章主要給大家介紹了關(guān)于vue中data的代理和監(jiān)聽(tīng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09
vue項(xiàng)目中axios如何捕捉http狀態(tài)碼為401錯(cuò)誤問(wèn)題
這篇文章主要介紹了vue項(xiàng)目中axios如何捕捉http狀態(tài)碼為401錯(cuò)誤問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
解決vue的 v-for 循環(huán)中圖片加載路徑問(wèn)題
今天小編就為大家分享一篇解決vue的 v-for 循環(huán)中圖片加載路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue3.0 vue-router4.0打包后頁(yè)面空白的解決方法
本文主要介紹了vue3.0 vue-router4.0打包后頁(yè)面空白的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
在Vue中使用Avue、配置過(guò)程及實(shí)際應(yīng)用小結(jié)
在項(xiàng)目中遇到通過(guò)點(diǎn)擊加號(hào)實(shí)現(xiàn)輸入框的增加、以及對(duì)該輸入框的輸入內(nèi)容進(jìn)行驗(yàn)證,通過(guò)這些誘導(dǎo)因素創(chuàng)作的這篇文章,本文重點(diǎn)給大家介紹在Vue中使用Avue、配置過(guò)程以及實(shí)際應(yīng)用,需要的朋友可以參考下2022-10-10
vue跳轉(zhuǎn)同一個(gè)路由參數(shù)不同的問(wèn)題
這篇文章主要介紹了vue跳轉(zhuǎn)同一個(gè)路由參數(shù)不同的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
electron-vue中報(bào)錯(cuò)Cannot?use?import?statement?outside?a?m
Electron 是一個(gè)使用 JavaScript、HTML 和 CSS 構(gòu)建桌面應(yīng)用程序的框架,下面這篇文章主要給大家介紹了關(guān)于electron-vue中報(bào)錯(cuò)Cannot?use?import?statement?outside?a?module的解決方案,需要的朋友可以參考下2023-02-02
使用vue-cli初始化項(xiàng)目時(shí)運(yùn)行‘npm run dev’報(bào)錯(cuò)及解決
這篇文章主要介紹了使用vue-cli初始化項(xiàng)目時(shí)運(yùn)行‘npm run dev’報(bào)錯(cuò)及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09
Vue項(xiàng)目開(kāi)發(fā)實(shí)現(xiàn)父組件與子組件數(shù)據(jù)間的雙向綁定原理及適用場(chǎng)景
在 Vue.js 中,實(shí)現(xiàn)父組件與子組件數(shù)據(jù)之間的雙向綁定,可以通過(guò)以下幾種方式,下面我將介紹幾種常見(jiàn)的方法,并解釋它們的實(shí)現(xiàn)原理和適用場(chǎng)景,感興趣的朋友跟隨小編一起看看吧2024-12-12

