vue2.0數據雙向綁定基本思路

大概思路 監聽------數據劫持 ------數據改變(展示給用戶了)


大概思路 監聽------數據劫持 ------數據改變(展示給用戶了))

新建一個html 頁面

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>vue2.0---數據雙向綁定基本原理(defineProperty)</title>
	</head>
	<body>
		<div></div>
		<input type="text">
	</body>
</html>
<script type="text/javascript">
	let obj = {};
	function callBack(value) {
		document.querySelector('div').innerHTML = null;
		document.querySelector('div').innerHTML = value;
		document.querySelector('input').value = null;
		document.querySelector('input').value = value;
	}
	document.querySelector('input').addEventListener('input', function(e) {
		obj.msg = e.target.value
	})
	Object.defineProperty(obj, 'msg', {
		set(newValue) {
			// 觸發setter給obj賦值
			value = newValue
			//執行劫持後的操作
			callBack(value)
		},
		get() {
			//返回獲取屬性值
			return value
		}
	})

</script>

在這裏插入圖片描述
在這裏插入圖片描述
原創不易 如對你有用 請不要吝嗇你的點贊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章