angular.js - 聊一聊web開發(fā)中的雙向數(shù)據(jù)綁定吧
問題描述
雙向數(shù)據(jù)綁定的優(yōu)缺點(diǎn)各是哪些?
問題解答
回答1:單向數(shù)據(jù)綁定:指的是我們先把模板寫好,然后把模板和數(shù)據(jù)(數(shù)據(jù)可能來自后臺(tái))整合到一起形成HTML代碼,然后把這段HTML代碼插入到文檔流里面。單向數(shù)據(jù)綁定缺點(diǎn):HTML代碼一旦生成完以后,就沒有辦法再變了,如果有新的數(shù)據(jù)來了,那就必須把之前的HTML代碼去掉,再重新把新的數(shù)據(jù)和模板一起整合后插入到文檔流中。
雙向數(shù)據(jù)綁定:數(shù)據(jù)模型(Module)和視圖(View)之間的雙向綁定。用戶在視圖上的修改會(huì)自動(dòng)同步到數(shù)據(jù)模型中去,同樣的,如果數(shù)據(jù)模型中的值發(fā)生了變化,也會(huì)立刻同步到視圖中去。
雙向數(shù)據(jù)綁定的優(yōu)點(diǎn)是無需進(jìn)行和單向數(shù)據(jù)綁定的那些CRUD(Create,Retrieve,Update,Delete)操作
雙向數(shù)據(jù)綁定最經(jīng)常的應(yīng)用場景就是表單了,這樣當(dāng)用戶在前端頁面完成輸入后,不用任何操作,我們就已經(jīng)拿到了用戶的數(shù)據(jù)存放到數(shù)據(jù)模型中了。
目前。實(shí)現(xiàn)雙向數(shù)據(jù)綁定的前端框架主要有AngularJS,VueJS等
不過,我總感覺雙向數(shù)據(jù)綁定的應(yīng)用場景非常有限。backbonejs不實(shí)現(xiàn)雙向數(shù)據(jù)綁定的解釋:大概的意思就是雙向數(shù)據(jù)綁定在實(shí)際的運(yùn)用中很少,沒必要
'Two way data-binding' is avoided. While it certainly makes for a nifty demo, and works for the most basic CRUD, it doesn’t tend to be terribly useful in your real-world app. Sometimes you want to update on every keypress, sometimes on blur, sometimes when the panel is closed, and sometimes when the 'save' button is clicked. In almost all cases, simply serializing the form to JSON is faster and easier. All that aside, if your heart is set, go for it.
回答2:有人認(rèn)為雙向綁定太暴力 但是angular貌似可以設(shè)定是雙向還是單向另外就是數(shù)據(jù)綁定需要一定開銷 但是測試說貌似幾千個(gè)變量監(jiān)視是沒什么問題的那么唯一的問題就是angular-js壓縮了都有170多kb這個(gè)問題。。而且angular-js要放棄ie8的支持了
回答3:雙向數(shù)據(jù)綁定是什么意思,,能不能請教下
相關(guān)文章:
1. 如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?2. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????3. require后不用使用echo返回到微信服務(wù)器 嗎4. nginx - 如何將wordpress系統(tǒng)放在二級域名下5. vim中編輯HTML文件時(shí)換行不能縮進(jìn)6. javascript - 請問要如何修改 Node 的透明度嗎?7. javascript - 求助,nodeJS和koa2文檔對新手小白太不友好,一臉懵逼。。。8. css3 background顯示圖片的一部分9. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)10. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫
