傳智播客上海校區知識點解析:簡單模擬vue中的雙向資料繫結
很多同學在開發過程中都會遇到雙向資料繫結的知識點,那麼什麼是雙向資料繫結呢?今天傳智播客上海校區趙老師就帶領大家來學習關於雙向資料繫結。
vue是一個mvvm框架,即資料雙向繫結,即當資料發生變化的時候,檢視也就發生變化,當檢視發生變化的時候,資料也會跟著同步變化,這也算是vue的精髓之處了。傳智播客上海校區趙老師提醒大家值得注意的是,我們所說的資料雙向繫結,一定是對於UI控制元件來說的,非UI控制元件不會涉及到資料雙向繫結。
對此,傳智播客上海校區趙老師給大家總結出了以下兩點:
一、訪問器屬性
在實現雙向資料繫結之前,我們必須要理解訪問器屬性Object.defineProperty()這個概念:
Object.defineProperty()函式可以定義物件的屬性相關描述符, 其中的set和get函式對於完成資料雙向繫結起到了至關重要的作用,下面,傳智播客上海校區趙老師將帶領大家學習下這個函式的基本使用方式。
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 | var obj = { foo: 'foo' }
Object.defineProperty(obj, 'foo', { get: function () { console.log('將要讀取obj.foo屬性'); }, set: function (newVal) { console.log('當前值為', newVal); } });
obj.foo; // 將要讀取obj.foo屬性 obj.foo = 'name'; // 當前值為 name |
可以看到,get即為我們訪問屬性時呼叫,set為我們設定屬性值時呼叫。
二、簡單的資料雙向繫結實現方法
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <title>forvue</title> </head> <body> <input type="text" id="textInput"> 輸入:<span id="textSpan"></span> <script> var obj = {}, textInput = document.querySelector('#textInput'), textSpan = document.querySelector('#textSpan');
Object.defineProperty(obj, 'foo', { set: function (newValue) { textInput.value = newValue; textSpan.innerHTML = newValue; } });
textInput.addEventListener('keyup', function (e) { obj.foo = e.target.value; });
</script> </body> </html> |
在瀏覽器中測試,發現實現了雙向繫結的功能: 使用Object.defineProperty()來定義屬性的set函式,屬性被賦值的時候,修改Input的value值以及span中的innerHTML;然後監聽input的keyup事件,修改物件的屬性值。即可實現這樣的一個簡單的資料雙向繫結。
以上就是傳智播客上海校區趙老師為大家分享的關於雙向資料繫結的知識點解析,希望大家在工作中能靈活運用,並在工作中不斷進步和提高。
相關文章
- 【傳智播客上海校區】TreeMap原始碼解析原始碼
- Vue 中雙向繫結 Vs 單向資料流Vue
- vue中的雙向資料繫結原理Vue
- 手動簡單實現Vue雙向資料繫結Vue
- 【傳智播客上海校區】java類和物件的關係的通俗理解Java物件
- vue 雙向繫結(v-model 雙向繫結、.sync 雙向繫結、.sync 傳物件)Vue物件
- vue雙向繫結盲區Vue
- Vue資料雙向繫結原理Vue
- vue雙向資料繫結原理Vue
- 從最簡單的資料劫持瞭解vue雙向繫結原理Vue
- 簡單易懂的雙向資料繫結解讀
- JavaScript實現簡單的雙向資料繫結JavaScript
- 傳智播客上海校區:你為什麼一定要學Python?Python
- 淺析vue的雙向資料繫結Vue
- Vue 雙向資料繫結原理分析Vue
- vue.js雙向資料繫結Vue.js
- 從單向到雙向資料繫結
- js 實現vue的雙向資料繫結JSVue
- vue資料雙向繫結的實現原理Vue
- 原始碼分析:Vue的雙向資料繫結原始碼Vue
- Vue props 雙向資料繫結方法Vue
- 簡要實現vue雙向繫結Vue
- 傳智播客上海校區受邀參與“2017華為雲技術私享會
- Vue父子元件如何雙向繫結傳值Vue元件
- 基於vue實現的雙向資料繫結Vue
- 揭密 Vue 的雙向繫結Vue
- angular雙向繫結簡單實現Angular
- Vue雙向繫結初探Vue
- vue雙向繫結原理Vue
- 關於簡單的資料雙向繫結原理,defineProperty 和Proxy演示
- JS雙向資料繫結JS
- vue父子關係元件間的雙向資料繫結Vue元件
- angularjs中的雙向繫結原理解析AngularJS
- 簡單實現一個雙向繫結
- Vue 資料雙向繫結實現二級下拉懸浮選單Vue
- Vue雙向繫結實現Vue
- Vue、MVVM、MVC、雙向繫結VueMVVMMVC
- Vue父子元件雙向繫結傳值的實現方法Vue元件