vue.js中created方法作用
這是它的一個(gè)生命周期鉤子函數(shù),就是一個(gè)vue實(shí)例被生成后調(diào)用這個(gè)函數(shù)。一個(gè)vue實(shí)例被生成后還要綁定到某個(gè)html元素上,之后還要進(jìn)行編譯,然后再插入到document中。每一個(gè)階段都會(huì)有一個(gè)鉤子函數(shù),方便開(kāi)發(fā)者在不同階段處理不同邏輯。
一般可以在created函數(shù)中調(diào)用ajax獲取頁(yè)面初始化所需的數(shù)據(jù)。
實(shí)例生命周期
每個(gè) Vue 實(shí)例在被創(chuàng)建之前都要經(jīng)過(guò)一系列的初始化過(guò)程。例如,實(shí)例需要配置數(shù)據(jù)觀測(cè)(data observer)、編譯模版、掛載實(shí)例到 DOM ,然后在數(shù)據(jù)變化時(shí)更新 DOM 。在這個(gè)過(guò)程中,實(shí)例也會(huì)調(diào)用一些 生命周期鉤子 ,這就給我們提供了執(zhí)行自定義邏輯的機(jī)會(huì)。例如,created 這個(gè)鉤子在實(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í)例。一些用戶(hù)可能會(huì)問(wèn) Vue.js 是否有“控制器”的概念?答案是,沒(méi)有。組件的自定義邏輯可以分布在這些鉤子中。
生命周期圖示
下圖說(shuō)明了實(shí)例的生命周期。你不需要立馬弄明白所有的東西,不過(guò)以后它會(huì)有幫助。
補(bǔ)充:
Vue生命周期中mounted和created的區(qū)別
一、什么是生命周期?
用通俗的語(yǔ)言來(lái)說(shuō),就是Vue中實(shí)例或者組件從創(chuàng)建到消滅中間經(jīng)過(guò)的一系列過(guò)程。雖然不太嚴(yán)謹(jǐn),但是也基本上可以理解。
通過(guò)一系列實(shí)踐,現(xiàn)在把所有遇到的問(wèn)題整理一遍,今天記錄一下created和mounted的區(qū)別:
二、created和mounted區(qū)別?
官方圖解如下:
我們從圖中看兩個(gè)節(jié)點(diǎn):
created:在模板渲染成html前調(diào)用,即通常初始化某些屬性值,然后再渲染成視圖。
mounted:在模板渲染成html后調(diào)用,通常是初始化頁(yè)面完成后,再對(duì)html的dom節(jié)點(diǎn)進(jìn)行一些需要的操作。
其實(shí)兩者比較好理解,通常created使用的次數(shù)多,而mounted通常是在一些插件的使用或者組件的使用中進(jìn)行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID)
;通常會(huì)有這一步,而如果你寫(xiě)入組件中,你會(huì)發(fā)現(xiàn)在created中無(wú)法對(duì)chart進(jìn)行一些初始化配置,一定要等這個(gè)html渲染完后才可以進(jìn)行,那么mounted就是不二之選。下面看一個(gè)例子(用組件)。
三、例子
<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")//第一個(gè)命令臺(tái)錯(cuò)誤 console.log(x.innerHTML); }, mounted:function(){ var x = document.getElementById("name")/</span>/第二個(gè)命令臺(tái)輸出的結(jié)果<span style="font-size: 14px;"> console.log(x.innerHTML); } }); var vm = new Vue({ el:"#example1" })</span>
可以看到輸出如下:
可以看到都在created賦予初始值的情況下成功渲染出來(lái)了。
但是同時(shí)看console臺(tái)如下:
可以看到第一個(gè)報(bào)了錯(cuò),實(shí)際是因?yàn)檎也坏絠d,getElementById(ID) 并沒(méi)有找到元素,原因如下:
在created的時(shí)候,視圖中的html并沒(méi)有渲染出來(lái),所以此時(shí)如果直接去操作html的dom節(jié)點(diǎn),一定找不到相關(guān)的元素
而在mounted中,由于此時(shí)html已經(jīng)渲染出來(lái)了,所以可以直接操作dom節(jié)點(diǎn),故輸出了結(jié)果“唐浩益”。
以上就是我自己總結(jié)的mounted和mounted的區(qū)別,寫(xiě)的比較簡(jiǎn)陋,記錄下來(lái),加深印象。
總結(jié)
以上所述是小編給大家介紹的vue.js中created方法作用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue引用js文件的多種方式(推薦)
- 詳解vue 路由跳轉(zhuǎn)四種方式 (帶參數(shù))
- vue之父子組件間通信實(shí)例講解(props、$ref、$emit)
- Vue props用法詳解(小結(jié))
- vue項(xiàng)目刷新當(dāng)前頁(yè)面的三種方法
- 簡(jiǎn)單理解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)頁(yè)面
- vue中v-model的應(yīng)用及使用詳解
- 如何在Vue中實(shí)現(xiàn)Svelte的Defer Transition
相關(guān)文章
報(bào)錯(cuò)[vuex] unknown action type: userLogin問(wèn)
這篇文章主要介紹了報(bào)錯(cuò)[vuex] unknown action type: userLogin問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06vue打印瀏覽器頁(yè)面功能的兩種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于vue打印瀏覽器頁(yè)面功能的兩種實(shí)現(xiàn)方法,這個(gè)功能其實(shí)也是自己學(xué)習(xí)到的,做完也有一段時(shí)間了,一直想記錄總結(jié)一下,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04vue3使用vue-cli引入windicss報(bào)錯(cuò)Can‘t resolve windi.css問(wèn)題
這篇文章主要介紹了vue3使用vue-cli引入windicss報(bào)錯(cuò)Can‘t resolve windi.css問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Antd表格滾動(dòng) 寬度自適應(yīng) 不換行的實(shí)例
這篇文章主要介紹了Antd表格滾動(dòng) 寬度自適應(yīng) 不換行的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10Vue3中是如何實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式示例詳解
這篇文章主要介紹了Vue3中是如何實(shí)現(xiàn)數(shù)據(jù)響應(yīng)式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07vue-cli3配置多項(xiàng)目并按項(xiàng)目分別實(shí)現(xiàn)打包
這篇文章主要介紹了vue-cli3配置多項(xiàng)目并按項(xiàng)目分別實(shí)現(xiàn)打包方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01