摘要:的介紹就直接連接到官網(wǎng)了,官網(wǎng)介紹很詳細(xì)了介紹構(gòu)造函數(shù)在使用之前我們首先需要構(gòu)建實(shí)例以上代碼是通過構(gòu)建了一個(gè)實(shí)例,構(gòu)造函數(shù)中是一個(gè)對(duì)象,上面代碼我用了一個(gè)空的對(duì)象,對(duì)象中可以包含數(shù)據(jù)模板掛載元素方法生命周期鉤子等選項(xiàng)。
使用過一段時(shí)間的vue1.0,現(xiàn)在vue已經(jīng)更新了很多版本了,語(yǔ)法在很多地方也有了變化。在此記錄一下重新學(xué)習(xí)的過程以及對(duì)vue的一些自己的理解。vue的介紹就直接連接到官網(wǎng)了,官網(wǎng)介紹很詳細(xì)了【Vue介紹】
1. 構(gòu)造函數(shù)在使用之前我們首先需要構(gòu)建vue實(shí)例
var vm = new Vue({ })
以上代碼是通過 new 構(gòu)建了一個(gè)vue實(shí)例,構(gòu)造函數(shù)中是一個(gè)對(duì)象,上面代碼我用了一個(gè)空的對(duì)象,對(duì)象中可以包含 數(shù)據(jù)、模板、掛載元素、方法、生命周期鉤子等選項(xiàng)。
【我們可以通過extend對(duì)vue構(gòu)造器進(jìn)行擴(kuò)展】
var MyComponent = Vue.extend({ // 擴(kuò)展選項(xiàng) }) // 所有的 `MyComponent` 實(shí)例都將以預(yù)定義的擴(kuò)展選項(xiàng)被創(chuàng)建 var myComponentInstance = new MyComponent()
以上代碼中通過extend進(jìn)行了vue構(gòu)造函數(shù)的擴(kuò)展,我們使用 MyComponent 生成的每一個(gè)實(shí)例都將擁有擴(kuò)展中的屬性。
2. 屬性與方法我們上面在創(chuàng)建實(shí)例的時(shí)候傳入的是一個(gè)空的對(duì)象,實(shí)際使用中這個(gè)對(duì)象中是有屬性的。
let data = { name: "blue" } let vm = new Vue({ data }) vm.name === data.name; //true data.name = "Crazy"; vm.name; // Crazy vm.name = "Pink"; data.name; //Pink
上面代碼使用的是ES6的語(yǔ)法,應(yīng)該能懂。上面代碼中Vue實(shí)例 【vm】在創(chuàng)建的過程中加入了一個(gè)data屬性,我們可以通過【vm】實(shí)例訪問到 name 屬性,說明vue實(shí)例會(huì)對(duì)data對(duì)象中的每一個(gè)屬性進(jìn)行【代理】(也就是托管),所以我們不管是更改【對(duì)象data】還是更改【實(shí)例vm】屬性都會(huì)同步name屬性。
let data = { name: "blue" } let vm = new Vue({ data }) vm.$data;
我們可以通過上面一種方式訪問到整個(gè)實(shí)例的【data屬性】對(duì)象,還有一些暴露在實(shí)例中的屬性和方法,他們都是用$為前綴。這兒就不多說了參考手冊(cè)里有詳細(xì)的說明。【API參考手冊(cè)】
3. Vue實(shí)例的生命周期每個(gè) Vue 實(shí)例在被創(chuàng)建之前都要經(jīng)過一系列的初始化過程。例如,實(shí)例需要配置數(shù)據(jù)觀測(cè)(data observer)、編譯模版、掛載實(shí)例到 DOM ,然后在數(shù)據(jù)變化時(shí)更新 DOM 。在這個(gè)過程中,實(shí)例也會(huì)調(diào)用一些 【生命周期鉤子】(一些實(shí)例方法,用于生命周期中我們更愿意叫他們?yōu)殂^子函數(shù)) ,這就給我們提供了執(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í)例。一些用戶可能會(huì)問 Vue.js 是否有“控制器”的概念?答案是,沒有。組件的自定義邏輯可以分布在這些鉤子中。
4. Vue生命周期圖示下面這張圖是官方給出的生命周期圖示,我只是把它翻譯成中文了
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/84617.html
摘要:?jiǎn)栴}為什么修改即可觸發(fā)更新和的關(guān)聯(lián)關(guān)系官方介紹的官網(wǎng)文檔,對(duì)響應(yīng)式屬性的原理有一個(gè)介紹。因此本文在源碼層面,對(duì)響應(yīng)式原理進(jìn)行梳理,對(duì)關(guān)鍵步驟進(jìn)行解析。 描述 ?我們通過一個(gè)簡(jiǎn)單的 Vue應(yīng)用 來(lái)演示 Vue的響應(yīng)式屬性: html: {{message}} js: let vm = new Vue({ el: #ap...
摘要:總結(jié)這邊文章主要是介紹了下的實(shí)例與生命周期,在實(shí)例化的過程中我們可以添加許多可選對(duì)象,比如生命周期鉤子函數(shù)等,讓實(shí)例產(chǎn)生我們想要的行為。 理解與認(rèn)識(shí) Vue 的實(shí)例是我們學(xué)習(xí) Vue 非常重要的一步,也是非常必須的,因?yàn)閷?shí)例是它的一個(gè)起點(diǎn),也是它的一個(gè)入口,只有我們創(chuàng)建一個(gè) Vue 實(shí)例之后,我們才行利用它進(jìn)行一些列的操作。 首先 Vue 沒有完全遵守 MVVM 的架構(gòu)模式,但是它的設(shè)...
摘要:就是實(shí)例中的對(duì)象當(dāng)前組件接收到的對(duì)象。當(dāng)前組件數(shù)的根實(shí)例如果當(dāng)前實(shí)例沒有父實(shí)例,此實(shí)例將會(huì)是其自己當(dāng)前實(shí)例的直接子組件。 vue實(shí)例 每個(gè) Vue 應(yīng)用都是通過用 Vue 函數(shù)創(chuàng)建一個(gè)新的 Vue 實(shí)例開始的: var vm = new Vue({ // 選項(xiàng) }) 當(dāng)創(chuàng)建一個(gè) Vue 實(shí)例時(shí),你可以傳入一個(gè)選項(xiàng)對(duì)象。作為參考,你也可以在 api/#選項(xiàng)-數(shù)據(jù) 文檔 中瀏覽完整的選...
摘要:實(shí)例在文檔中經(jīng)常會(huì)使用這個(gè)變量名表示實(shí)例,在實(shí)例化時(shí),需要傳入一個(gè)選項(xiàng)對(duì)象,它可以包含數(shù)據(jù)模板掛載元素方法生命周期鉤子等選項(xiàng)。通俗說就是實(shí)例從創(chuàng)建到銷毀的過程,就是生命周期。 Vue 實(shí)例中的生命周期鉤子 Vue 框架的入口就是 Vue 實(shí)例,其實(shí)就是框架中的 view model ,它包含頁(yè)面中的業(yè)務(wù)處理邏輯、數(shù)據(jù)模型等,它的生命周期中有多個(gè)事件鉤子,讓我們?cè)诳刂普麄€(gè)Vue實(shí)例的過程...
摘要:如果在實(shí)例創(chuàng)建之后添加新的屬性到實(shí)例上,它不會(huì)觸發(fā)視圖更新。在配置數(shù)據(jù)觀測(cè)編譯模板掛載實(shí)例到,然后在數(shù)據(jù)變化時(shí)更新的過程中,實(shí)例會(huì)調(diào)用一些生命周期鉤子。 vue的實(shí)例 vue構(gòu)造器 每個(gè)Vue.js應(yīng)用都是通過 構(gòu)造函數(shù)Vue 創(chuàng)建一個(gè) Vue的根實(shí)例 啟動(dòng)的: 我們首先復(fù)習(xí)一下構(gòu)造函數(shù) function a(){ } // 當(dāng)一個(gè)函數(shù)用來(lái)創(chuàng)建一個(gè)實(shí)例的時(shí)候,就叫做構(gòu)造函數(shù) // 我們...
閱讀 2465·2021-09-29 09:34
閱讀 3301·2021-09-23 11:21
閱讀 2494·2021-09-06 15:00
閱讀 1123·2019-08-30 15:44
閱讀 2024·2019-08-29 17:23
閱讀 2996·2019-08-29 16:44
閱讀 3052·2019-08-29 13:13
閱讀 1932·2019-08-28 18:12