温馨提示×

vue中双向数据绑定怎么实现

vue
清风
142
2021-03-15 17:42:10
栏目: 编程语言

vue中双向数据绑定怎么实现

vue中双向数据绑定是通过数据劫持结合发布订阅模式的方式来实现的,其核心方法是Object.defineProperty()方法。

实现双向数据绑定的示例:

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<title></title>

</head>

<body>

<input type="text" id="userName">

<br/>

<span id="uName"></span>

<script type="text/javascript">

var obj={

pwd:"123456"

};

Object.defineProperty(obj,"userName",{

get: function(){

console.log("get init");

},

set: function(val){

console.log("set init");

document.getElementById("uName").innerText=val;

document.getElementById("userName").value=val;

}

});

document.getElementById("userName").addEventListener("keyup",function(){

obj.userName=event.target.value;

});

</script>

</body>

</html>


0