作者:姜亦珊边_135 | 来源:互联网 | 2023-10-15 16:30
vue.js如何实现数据的双向绑定呢?
与angular不同。
vue利用的是es5的defineproperty特性。
1.一个小例子
<html>
<head lang&#61;"en"><meta charset&#61;"UTF-8"><title>title>
head>
<body>
<input type&#61;"text" id&#61;"demo">
<p id&#61;"display">p>
<script>var obj&#61;{};var bind&#61;[];Object.defineProperty(obj,&#39;s&#39;,{set:function(val){bind[&#39;s&#39;]&#61;val;},get:function(){return bind[&#39;s&#39;];}})var demo&#61;document.querySelector(&#39;#demo&#39;);var display&#61;document.querySelector(&#39;#display&#39;);demo.onkeyup&#61;function(){obj[&#39;s&#39;]&#61;demo.value;display.innerHTML&#61;bind[&#39;s&#39;];}script>
body>
html>
实现效果&#xff1a;
2.兼容性
貌似es5的语法在IE9以下的浏览器不能兼容。所以vue只能兼容ie9以上的浏览器了。
可以使用es5的兼容库&#xff1a;es5-shim。