vue.js如何使用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定

這篇文章主要介紹了vue.js如何使用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

埇橋區(qū)網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

vue.js如何實(shí)現(xiàn)數(shù)據(jù)的雙向綁定呢?

與angular不同。

vue利用的是es5的defineproperty特性。

1.一個(gè)小例子

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
<input type="text" id="demo">
<p id="display"></p>
<script>
  var obj={};
  var bind=[];
  //觸發(fā)obj對(duì)象set和get方法的時(shí)候,趁機(jī)來輸出或修改bind數(shù)組的內(nèi)容
  Object.defineProperty(obj,'s',{
    set:function(val){
      bind['s']=val;
    },
    get:function(){
      return bind['s'];
    }
  })
  var demo=document.querySelector('#demo');
  var display=document.querySelector('#display');
  //#demo的value值與bind['s']綁定,#display的innerHTML也與bind['s']綁定。
  demo.onkeyup=function(){
    obj['s']=demo.value;//觸發(fā)了obj的set方法,等于#demo的value值賦值給bind['s']。
    display.innerHTML=bind['s'];
  }
</script>
</body>
</html>

實(shí)現(xiàn)效果:

vue.js如何使用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定

2.兼容性

貌似es5的語法在IE9以下的瀏覽器不能兼容。所以vue只能兼容ie9以上的瀏覽器了。

可以使用es5的兼容庫:es5-shim。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vue.js如何使用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!

本文題目:vue.js如何使用defineProperty實(shí)現(xiàn)數(shù)據(jù)的雙向綁定
網(wǎng)站URL:http://muchs.cn/article6/ispgig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站營銷、定制網(wǎng)站Google、手機(jī)網(wǎng)站建設(shè)、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)