欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue.js每天必學(xué)之構(gòu)造器與生命周期

 更新時(shí)間:2016年09月05日 09:30:48   作者:i10630226  
Vue.js每天必學(xué)之構(gòu)造器與生命周期,告訴大家什么是Vue.js構(gòu)造器與生命周期,感興趣的小伙伴們可以參考一下

構(gòu)造器

每個(gè) Vue.js 應(yīng)用的起步都是通過(guò)構(gòu)造函數(shù) Vue 創(chuàng)建一個(gè) Vue 的根實(shí)例:

var vm = new Vue({
 // 選項(xiàng)
})

一個(gè) Vue 實(shí)例其實(shí)正是一個(gè) MVVM 模式中所描述的 ViewModel - 因此在文檔中經(jīng)常會(huì)使用 vm 這個(gè)變量名。

在實(shí)例化 Vue 時(shí),需要傳入一個(gè)選項(xiàng)對(duì)象,它可以包含數(shù)據(jù)、模板、掛載元素、方法、生命周期鉤子等選項(xiàng)。全部的選項(xiàng)可以在 API 文檔中查看。

可以擴(kuò)展 Vue 構(gòu)造器,從而用預(yù)定義選項(xiàng)創(chuàng)建可復(fù)用的組件構(gòu)造器:

var MyComponent = Vue.extend({
 // 擴(kuò)展選項(xiàng)
})

// 所有的 `MyComponent` 實(shí)例都將以預(yù)定義的擴(kuò)展選項(xiàng)被創(chuàng)建
var myComponentInstance = new MyComponent()

盡管可以命令式地創(chuàng)建擴(kuò)展實(shí)例,不過(guò)在多數(shù)情況下將組件構(gòu)造器注冊(cè)為一個(gè)自定義元素,然后聲明式地用在模板中。我們將在后面詳細(xì)說(shuō)明組件系統(tǒng)。現(xiàn)在你只需知道所有的 Vue.js 組件其實(shí)都是被擴(kuò)展的 Vue 實(shí)例。

屬性與方法

每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:

var data = { a: 1 }
var vm = new Vue({
 data: data
})

vm.a === data.a // -> true

// 設(shè)置屬性也會(huì)影響到原始數(shù)據(jù)
vm.a = 2
data.a // -> 2

// ... 反之亦然
data.a = 3
vm.a // -> 3

注意只有這些被代理的屬性是響應(yīng)的。如果在實(shí)例創(chuàng)建之后添加新的屬性到實(shí)例上,它不會(huì)觸發(fā)視圖更新。我們將在后面詳細(xì)討論響應(yīng)系統(tǒng)。

除了這些數(shù)據(jù)屬性,Vue 實(shí)例暴露了一些有用的實(shí)例屬性與方法。這些屬性與方法都有前綴 $,以便與代理的數(shù)據(jù)屬性區(qū)分。例如:

var data = { a: 1 }
var vm = new Vue({
 el: '#example',
 data: data
})

vm.$data === data // -> true
vm.$el === document.getElementById('example') // -> true

// $watch 是一個(gè)實(shí)例方法
vm.$watch('a', function (newVal, oldVal) {
 // 這個(gè)回調(diào)將在 `vm.a` 改變后調(diào)用
})

參考 API 文檔查看全部的實(shí)例屬性與方法。

實(shí)例生命周期

Vue 實(shí)例在創(chuàng)建時(shí)有一系列初始化步驟——例如,它需要建立數(shù)據(jù)觀察,編譯模板,創(chuàng)建必要的數(shù)據(jù)綁定。在此過(guò)程中,它也將調(diào)用一些生命周期鉤子,給自定義邏輯提供運(yùn)行機(jī)會(huì)。例如 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)用,如 compiled、 ready 、destroyed。鉤子的 this 指向調(diào)用它的 Vue 實(shí)例。一些用戶(hù)可能會(huì)問(wèn) Vue.js 是否有“控制器”的概念?答案是,沒(méi)有。組件的自定義邏輯可以分割在這些鉤子中。

生命周期圖示

下圖說(shuō)明了實(shí)例的生命周期。你不需要立馬弄明白所有的東西,不過(guò)以后它會(huì)有幫助。

本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • preload對(duì)比prefetch的功能區(qū)別詳解

    preload對(duì)比prefetch的功能區(qū)別詳解

    這篇文章主要為大家介紹了preload對(duì)比prefetch的使用區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • vue自定義組件(通過(guò)Vue.use()來(lái)使用)即install的用法說(shuō)明

    vue自定義組件(通過(guò)Vue.use()來(lái)使用)即install的用法說(shuō)明

    這篇文章主要介紹了vue自定義組件(通過(guò)Vue.use()來(lái)使用)即install的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-08-08
  • 解決Antd Table組件表頭不對(duì)齊的問(wèn)題

    解決Antd Table組件表頭不對(duì)齊的問(wèn)題

    這篇文章主要介紹了解決Antd Table組件表頭不對(duì)齊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-10-10
  • 輕松理解vue的雙向數(shù)據(jù)綁定問(wèn)題

    輕松理解vue的雙向數(shù)據(jù)綁定問(wèn)題

    Vue是當(dāng)前很火的一款MVVM的輕量級(jí)框架,它是以數(shù)據(jù)驅(qū)動(dòng)和組件化的思想構(gòu)建的。因?yàn)樗峁┝撕?jiǎn)潔易于理解的api,使得我們很容易上手。這篇文章給大家介紹了vue雙向數(shù)據(jù)綁定問(wèn)題,感興趣的朋友一起看看吧
    2017-10-10
  • 基于vue.js快速搭建圖書(shū)管理平臺(tái)

    基于vue.js快速搭建圖書(shū)管理平臺(tái)

    Vue.js是當(dāng)下很火的一個(gè)JavaScript MVVM(Model-View-ViewModel)庫(kù).這篇文章主要介紹了基于vue.js快速搭建圖書(shū)管理平臺(tái) ,需要的朋友可以參考下
    2017-10-10
  • vuex?mutation?action同級(jí)調(diào)用方式

    vuex?mutation?action同級(jí)調(diào)用方式

    這篇文章主要介紹了vuex?mutation?action同級(jí)調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue2中引用及使用 better-scroll的方法詳解

    vue2中引用及使用 better-scroll的方法詳解

    這篇文章主要介紹了vue2中引用better-scroll和使用 better-scroll的方法,使用時(shí)有三個(gè)要點(diǎn)及注意事項(xiàng)在文中給大家詳細(xì)介紹 ,需要的朋友可以參考下
    2018-11-11
  • vue中路由參數(shù)傳遞可能會(huì)遇到的坑

    vue中路由參數(shù)傳遞可能會(huì)遇到的坑

    這篇文章主要給大家介紹了關(guān)于vue中路由參數(shù)傳遞遇到的坑的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • vue項(xiàng)目使用CDN引入的配置與易出錯(cuò)點(diǎn)

    vue項(xiàng)目使用CDN引入的配置與易出錯(cuò)點(diǎn)

    在日常開(kāi)發(fā)過(guò)程中,為了減少最后打包出來(lái)的體積,我們會(huì)用到cdn引入一些比較大的庫(kù)來(lái)解決,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目使用CDN引入的配置與易出錯(cuò)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • vue開(kāi)發(fā)頁(yè)面自適應(yīng)屏幕尺寸的實(shí)例代碼

    vue開(kāi)發(fā)頁(yè)面自適應(yīng)屏幕尺寸的實(shí)例代碼

    使用vue開(kāi)發(fā)的頁(yè)面都是通過(guò)px設(shè)置它的尺寸,如果換了一個(gè)不同尺寸的屏幕就會(huì)出現(xiàn)頁(yè)面排版錯(cuò)亂,顯示不完整等情況,下面通過(guò)插件將px裝換為rem單位適應(yīng)不同尺寸的屏幕,需要的朋友可以參考下
    2022-12-12

最新評(píng)論