vue.js如何使用defineProperty實現(xiàn)數(shù)據(jù)的雙向綁定-創(chuàng)新互聯(lián)

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

成都創(chuàng)新互聯(lián)專注于綦江企業(yè)網(wǎng)站建設(shè),自適應網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。綦江網(wǎng)站建設(shè)公司,為綦江等地區(qū)提供建站服務。全流程定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務

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

與angular不同。

vue利用的是es5的defineproperty特性。

1.一個小例子

<!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對象set和get方法的時候,趁機來輸出或修改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>

實現(xiàn)效果:

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

2.兼容性

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

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

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

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)建站muchs.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前題目:vue.js如何使用defineProperty實現(xiàn)數(shù)據(jù)的雙向綁定-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article12/dhiggc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、網(wǎng)站導航、商城網(wǎng)站、服務器托管、外貿(mào)建站、虛擬主機

廣告

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

成都定制網(wǎng)站建設(shè)