vue.js中created方法作用
這是它的一個生命周期鉤子函數(shù),就是一個vue實(shí)例被生成后調(diào)用這個函數(shù)。一個vue實(shí)例被生成后還要綁定到某個html元素上,之后還要進(jìn)行編譯,然后再插入到document中。每一個階段都會有一個鉤子函數(shù),方便開發(fā)者在不同階段處理不同邏輯。
一般可以在created函數(shù)中調(diào)用ajax獲取頁面初始化所需的數(shù)據(jù)。
實(shí)例生命周期
每個 Vue 實(shí)例在被創(chuàng)建之前都要經(jīng)過一系列的初始化過程。例如,實(shí)例需要配置數(shù)據(jù)觀測(data observer)、編譯模版、掛載實(shí)例到 DOM ,然后在數(shù)據(jù)變化時更新 DOM 。在這個過程中,實(shí)例也會調(diào)用一些 生命周期鉤子 ,這就給我們提供了執(zhí)行自定義邏輯的機(jī)會。例如,created 這個鉤子在實(shí)例被創(chuàng)建之后被調(diào)用:
var vm = new Vue({
data: {
a: 1
},
created: function () {
// `this` 指向 vm 實(shí)例
console.log('a is: ' + this.a)
}
})
// -> "a is: 1"
也有一些其它的鉤子,在實(shí)例生命周期的不同階段調(diào)用,如 mounted、 updated 、destroyed 。鉤子的 this 指向調(diào)用它的 Vue 實(shí)例。一些用戶可能會問 Vue.js 是否有“控制器”的概念?答案是,沒有。組件的自定義邏輯可以分布在這些鉤子中。
生命周期圖示
下圖說明了實(shí)例的生命周期。你不需要立馬弄明白所有的東西,不過以后它會有幫助。

補(bǔ)充:
Vue生命周期中mounted和created的區(qū)別
一、什么是生命周期?
用通俗的語言來說,就是Vue中實(shí)例或者組件從創(chuàng)建到消滅中間經(jīng)過的一系列過程。雖然不太嚴(yán)謹(jǐn),但是也基本上可以理解。
通過一系列實(shí)踐,現(xiàn)在把所有遇到的問題整理一遍,今天記錄一下created和mounted的區(qū)別:
二、created和mounted區(qū)別?
官方圖解如下:

我們從圖中看兩個節(jié)點(diǎn):
created:在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖。
mounted:在模板渲染成html后調(diào)用,通常是初始化頁面完成后,再對html的dom節(jié)點(diǎn)進(jìn)行一些需要的操作。
其實(shí)兩者比較好理解,通常created使用的次數(shù)多,而mounted通常是在一些插件的使用或者組件的使用中進(jìn)行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常會有這一步,而如果你寫入組件中,你會發(fā)現(xiàn)在created中無法對chart進(jìn)行一些初始化配置,一定要等這個html渲染完后才可以進(jìn)行,那么mounted就是不二之選。下面看一個例子(用組件)。
三、例子
<span style="font-size: 14px;">Vue.component("demo1",{
data:function(){
return {
name:"",
age:"",
city:""
}
},
template:"<ul><li id='name'>{{name}}</li><li>{{age}}</li><li>{{city}}</li></ul>",
created:function(){
this.name="唐浩益"
this.age = "12"
this.city ="杭州"
var x = document.getElementById("name")//第一個命令臺錯誤
console.log(x.innerHTML);
},
mounted:function(){
var x = document.getElementById("name")/</span>/第二個命令臺輸出的結(jié)果<span style="font-size: 14px;">
console.log(x.innerHTML);
}
});
var vm = new Vue({
el:"#example1"
})</span>
可以看到輸出如下:

可以看到都在created賦予初始值的情況下成功渲染出來了。
但是同時看console臺如下:

可以看到第一個報(bào)了錯,實(shí)際是因?yàn)檎也坏絠d,getElementById(ID) 并沒有找到元素,原因如下:
在created的時候,視圖中的html并沒有渲染出來,所以此時如果直接去操作html的dom節(jié)點(diǎn),一定找不到相關(guān)的元素
而在mounted中,由于此時html已經(jīng)渲染出來了,所以可以直接操作dom節(jié)點(diǎn),故輸出了結(jié)果“唐浩益”。
以上就是我自己總結(jié)的mounted和mounted的區(qū)別,寫的比較簡陋,記錄下來,加深印象。
總結(jié)
以上所述是小編給大家介紹的vue.js中created方法作用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- vue引用js文件的多種方式(推薦)
- 詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))
- vue之父子組件間通信實(shí)例講解(props、$ref、$emit)
- Vue props用法詳解(小結(jié))
- vue項(xiàng)目刷新當(dāng)前頁面的三種方法
- 簡單理解vue中Props屬性
- VUE元素的隱藏和顯示(v-show指令)
- vue實(shí)現(xiàn)文件上傳功能
- 使用Vue實(shí)現(xiàn)圖片上傳的三種方式
- Vue.js常用指令匯總(v-if、v-for等)
- Vue 進(jìn)階教程之v-model詳解
- Vue.js實(shí)戰(zhàn)之利用vue-router實(shí)現(xiàn)跳轉(zhuǎn)頁面
- vue中v-model的應(yīng)用及使用詳解
- 如何在Vue中實(shí)現(xiàn)Svelte的Defer Transition
相關(guān)文章
報(bào)錯[vuex] unknown action type: userLogin問
這篇文章主要介紹了報(bào)錯[vuex] unknown action type: userLogin問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
vue打印瀏覽器頁面功能的兩種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于vue打印瀏覽器頁面功能的兩種實(shí)現(xiàn)方法,這個功能其實(shí)也是自己學(xué)習(xí)到的,做完也有一段時間了,一直想記錄總結(jié)一下,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
vue3使用vue-cli引入windicss報(bào)錯Can‘t resolve windi.css問題
這篇文章主要介紹了vue3使用vue-cli引入windicss報(bào)錯Can‘t resolve windi.css問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
Antd表格滾動 寬度自適應(yīng) 不換行的實(shí)例
這篇文章主要介紹了Antd表格滾動 寬度自適應(yīng) 不換行的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
Vue3中是如何實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式示例詳解
這篇文章主要介紹了Vue3中是如何實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
vue-cli3配置多項(xiàng)目并按項(xiàng)目分別實(shí)現(xiàn)打包
這篇文章主要介紹了vue-cli3配置多項(xiàng)目并按項(xiàng)目分別實(shí)現(xiàn)打包方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01

