亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Vue 響應(yīng)式實(shí)現(xiàn)原理(個(gè)人在學(xué)習(xí)完Vue基礎(chǔ)的情況下的理解)

zsy888 / 1381人閱讀

摘要:對(duì)象用戶看到的對(duì)象用戶看到的是這個(gè)對(duì)象即是實(shí)際使用的對(duì)象實(shí)際使用的對(duì)象復(fù)制更新相應(yīng)的代碼實(shí)現(xiàn)對(duì)象代理響應(yīng)式原理前提官網(wǎng)說(shuō)過(guò),限于現(xiàn)代瀏覽器限制,無(wú)法監(jiān)測(cè)通過(guò)這種方式添加的屬性,所以,他的響應(yīng)式是建立在實(shí)例化對(duì)象的時(shí)候,預(yù)定義屬性的基礎(chǔ)上的。

1. Vue 對(duì)象 1.1 用戶看到的對(duì)象
var app = new Vue({
    el: "#app" , 
    /*
     * 用戶看到的是這個(gè)對(duì)象
     */
    data: {
        name: "chenxuelong" , 
        sex: "male"
    }
});

// 即是
console.log(app.data);
1.2 Vue 實(shí)際使用的對(duì)象
// Vue 實(shí)際使用的對(duì)象
app.$data = {};

for (var k in app.data)
{
    copy(k);
}

// 復(fù)制
function copy(k){
    Object.defineProperty(app.$data , k , {
        get: function(){
            return app.data[k];
        } , 
        set: function(value){
            app.data[k] = value;
            
            // 更新相應(yīng) dom 的代碼
        } ,
        enumerable: true , 
        configurable: true
    });
}
2. Vue 實(shí)現(xiàn) data 對(duì)象代理
for (var k as app.$data)
{
    copy(k);   
}


function copy(k){
    Object.defineProperty(app , k , {
        get: function(){
            app.$data[k];
        } , 
        set: function(val){
            app.$data[k] = val;
        } , 
        enumerable: true , 
        configurable: true
    });
}
3. Vue 響應(yīng)式原理 3.1 前提

Vue 官網(wǎng)說(shuō)過(guò),限于現(xiàn)代瀏覽器 JavaScript 限制,Vue 無(wú)法監(jiān)測(cè)通過(guò) app.test = "hello boy" 這種方式添加的屬性,所以,他的響應(yīng)式是建立在實(shí)例化 Vue 對(duì)象的時(shí)候,預(yù)定義 data 屬性的基礎(chǔ)上的。

3.2 原理
// 必須在實(shí)例化 Vue 時(shí),預(yù)定義好要用到的 data 屬性
// 否則實(shí)現(xiàn)不了響應(yīng)式
var app = new Vue(
    el: "#app" , 
    // 這個(gè)時(shí)候,Vue 內(nèi)部會(huì)新建一個(gè) $data 屬性
    // 具體過(guò)程請(qǐng)看步驟 1.2
    // 然后實(shí)現(xiàn) data 對(duì)象代理,具體過(guò)程請(qǐng)看
    // 步驟 2
    // 通過(guò)以上步驟后, data 對(duì)象中的數(shù)據(jù)屬性
    // 就都被轉(zhuǎn)化為 存取器屬性(getter/setter) 了
    // Vue 就是通過(guò) getter/setter 來(lái)追蹤屬性變化的
    data: {
        name: "chenxuelong" , 
        sex: "male"
    }
);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/85008.html

相關(guān)文章

  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    sutaking 評(píng)論0 收藏0
  • 關(guān)于Vue2一些值得推薦文章 -- 五、六月份

    摘要:五六月份推薦集合查看最新的請(qǐng)點(diǎn)擊集前端最近很火的框架資源定時(shí)更新,歡迎一下。蘇幕遮燎沈香宋周邦彥燎沈香,消溽暑。鳥雀呼晴,侵曉窺檐語(yǔ)。葉上初陽(yáng)乾宿雨,水面清圓,一一風(fēng)荷舉。家住吳門,久作長(zhǎng)安旅。五月漁郎相憶否。小楫輕舟,夢(mèng)入芙蓉浦。 五、六月份推薦集合 查看github最新的Vue weekly;請(qǐng)::點(diǎn)擊::集web前端最近很火的vue2框架資源;定時(shí)更新,歡迎 Star 一下。 蘇...

    khs1994 評(píng)論0 收藏0
  • 深入淺出Vue響應(yīng)原理

    摘要:總結(jié)最后我們依照下圖參考深入淺出,再來(lái)回顧下整個(gè)過(guò)程在后,會(huì)調(diào)用函數(shù)進(jìn)行初始化,也就是過(guò)程,在這個(gè)過(guò)程通過(guò)轉(zhuǎn)換成了的形式,來(lái)對(duì)數(shù)據(jù)追蹤變化,當(dāng)被設(shè)置的對(duì)象被讀取的時(shí)候會(huì)執(zhí)行函數(shù),而在當(dāng)被賦值的時(shí)候會(huì)執(zhí)行函數(shù)。 前言 Vue 最獨(dú)特的特性之一,是其非侵入性的響應(yīng)式系統(tǒng)。數(shù)據(jù)模型僅僅是普通的 JavaScript 對(duì)象。而當(dāng)你修改它們時(shí),視圖會(huì)進(jìn)行更新。這使得狀態(tài)管理非常簡(jiǎn)單直接,不過(guò)理解...

    yiliang 評(píng)論0 收藏0
  • 前端每周清單第 34 期:Vue 現(xiàn)狀盤點(diǎn)與 3.0 展望,React 代碼遷移與優(yōu)化,圖片優(yōu)化詳論

    摘要:工程實(shí)踐立足實(shí)踐,提示實(shí)際水平內(nèi)聯(lián)函數(shù)與性能很多關(guān)于性能優(yōu)化的文章都會(huì)談及內(nèi)聯(lián)函數(shù),其也是常見的被詬病為拖慢性能表現(xiàn)的元兇之一不過(guò)本文卻是打破砂鍋問到底,論證了內(nèi)聯(lián)函數(shù)并不一定就會(huì)拖慢性能,過(guò)度的性能優(yōu)化反而會(huì)有損于應(yīng)用性能。 showImg(https://segmentfault.com/img/remote/1460000011481413?w=1240&h=825); 前端每周...

    CoderStudy 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<