小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

前端面試題整理——VUE雙向綁定原理

 丹楓無跡 2021-09-27

VUE2.0和3.0數(shù)據(jù)雙向綁定的原理,并說出其區(qū)別。

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue2.0/3.0雙向數(shù)據(jù)綁定原理</title>
</head>
<body>
姓名:<span id="name"></span>
<br>
<input type="text" id="inputText" oninput="changeTxt2()">
<hr>
姓名:<span id="name2"></span>
<br>
<input type="text" id="inputText2" oninput="changeTxt2()">

<script>
    // 2.0
    // ES5:Object.defineProperty 數(shù)據(jù)劫持實(shí)現(xiàn)
    let obj = {name: ''};
    let newObj = JSON.parse(JSON.stringify(obj))
    Object.defineProperty(obj, 'name', {
        get() {
            return newObj.name
        },
        set(value) {
            if (value === newObj.name) return;
            newObj.name = value;
            observer();
        }
    })

    function observer() {
        document.getElementById('name').innerHTML = document.getElementById('inputText').value = obj.name;
    }

    function changeTxt() {
        obj.name = document.getElementById('inputText').value;
    }

    /*
    * 弊端:
    * 1、需要將原來的對象克隆一份
    * 2、需要分別給對象中指定每一個(gè)屬性設(shè)置監(jiān)聽
    * */

    // 3.0
    // ES6:Proxy 委托代理
    let obj2 = {};
    obj2 = new Proxy(obj2, {
        get(target, prop) {
            // target,代理的對象
            // prop,代理對象的屬性
            return target[prop]
        },
        set(target, prop, value) {
            target[prop] = value
            observer2()
        }
    })
    // 不需要克隆,只需要整個(gè)對象進(jìn)行代理
    function observer2() {
        document.getElementById('name2').innerHTML = document.getElementById('inputText2').value = obj2.name;
    }
    function changeTxt2() {
        obj2.name = document.getElementById('inputText2').value;
    }
</script>
</body>
</html>

 

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多