欢迎光临
我们一直在努力

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)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。