利用defineProperty實現資料的雙向繫結

2021-07-15 23:12:47 字數 828 閱讀 8823

vue.js如何實現資料的雙向繫結呢?

與angular不同。

vue利用的是es5的defineproperty特性。

lang="en">

charset="utf-8">

title>

head>

type="text"

id="demo">

id="display">

p>

var obj={};

var bind=;

//觸發obj物件set和get方法的時候,趁機來輸出或修改bind陣列的內容

object.defineproperty(obj,'s',,

get:function

() })

var demo=document.queryselector('#demo');

var display=document.queryselector('#display');

//#demo的value值與bind['s']繫結,#display的innerhtml也與bind['s']繫結。

demo.onkeyup=function

()script>

body>

html>

實現效果:

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

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

Object中defineProperty資料描述

object.defineproperty是對物件中的屬性進行資料描述的 使用語法 object.defineproperty obj,prop,descriptor 使用示例 var data object.defineproperty data,title 當設定了configurable後再使...

mysql 利用 mysql利用

mysql 寫入webshell復現 1.直接寫入 windows成功率較高 1.檢視是否允許可寫 空可寫,null不行,5.5以前預設為空,5.5以後預設為null 2.寫入檔案 2.日誌檔案寫入shell 5.0以後會建立日誌檔案 資料庫許可權 1.檢視是否開啟日誌 2.開啟日誌 3.設定路徑 ...

利用AlwaysInstallElevated提權

2.啟用alwaysinstallelevated 3.提權 4.防禦方式 5.參考文章 alwaysinstallelevated是登錄檔的乙個鍵值,當其值為1的時候,普通使用者即可以system許可權安裝msi程式。certutil.exe urlcache split f開啟powershel...