精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Vue.js和MVVM小細節

移動開發 開發
Vue.js 是一個提供了 MVVM 風格的雙向數據綁定的 Javascript 庫,專注于View 層。它的核心是 MVVM 中的 VM,也就是 ViewModel。 ViewModel負責連接 View 和 Model,保證視圖和數據的一致性,這種輕量級的架構讓前端開發更加高效、便捷。 

 MVVM 是Model-View-ViewModel 的縮寫,它是一種基于前端開發的架構模式,其核心是提供對View 和 ViewModel 的雙向數據綁定,這使得ViewModel 的狀態改變可以自動傳遞給 View,即所謂的數據雙向綁定。

Vue.js 是一個提供了 MVVM 風格的雙向數據綁定的 Javascript 庫,專注于View 層。它的核心是 MVVM 中的 VM,也就是 ViewModel。 ViewModel負責連接 View 和 Model,保證視圖和數據的一致性,這種輕量級的架構讓前端開發更加高效、便捷。  

1、為什么會出現 MVVM?

我接觸MVVM 是在2015年,可以說2015年是MVVM 最火熱的一年,而在這之前,我所知道的就是MVC,  MVC 大約是在5年前,也就是2011年的時候接觸的,那時候剛學編程語言,學的Java,而Java 中經典的 SSH 框架就用來構建一個標準的MVC 框架。說實話,MVC 用了這么多年,但始終沒有很深刻的理解,只停留在用的層面, 一直到接觸 Vue.js 之后,研究了MVVM 架構思想,然后再回頭看 MVC ,才有一種豁然開朗的感覺~

MVC 即 Model-View-Controller 的縮寫,就是 模型-視圖-控制器 , 也就是說一個標準的Web 應用程序是由這三部分組成的:  

  • View 用來把數據以某種方式呈現給用戶。
  • Model 其實就是數據。
  • Controller 接收并處理來自用戶的請求,并將 Model 返回給用戶。

在HTML5 還未火起來的那些年,MVC 作為Web 應用的***實踐是OK 的,這是因為 Web 應用的View 層相對來說比較簡單,前端所需要的數據在后端基本上都可以處理好,View 層主要是做一下展示,那時候提倡的是 Controller 來處理復雜的業務邏輯,所以View 層相對來說比較輕量,就是所謂的瘦客戶端思想。

2010年到2011年,HTML5概念被熱炒,受到追捧,2012年,W3C 正式宣布HTML5規范已經正式定稿。2013年我剛進公司就接觸了***個 HTML5 框架 Sench touch, 它是一款用來構建移動應用的HTML5 框架,它將前后端徹底分離,前端采用MVC 架構,作為一個獨立的項目工程來維護。

2、前端為什么要工程化,要使用MVC?

相對 HTML4 , HTML5 ***的亮點是它為移動設備提供了一些非常有用的功能,使得 HTML5 具備了開發App的能力, HTML5開發App ***的好處就是跨平臺、快速迭代和上線,節省人力成本和提高效率,因此很多企業開始對傳統的App進行改造,逐漸用H5代替Native,到2015年的時候,市面上大多數App 或多或少嵌入都了H5 的頁面。

既然要用H5 來構建 App, 那View 層所做的事,就不僅僅是簡單的數據展示了,它不僅要管理復雜的數據狀態,還要處理移動設備上各種操作行為等等。因此,前端也需要工程化,也需要一個類似于MVC 的框架來管理這些復雜的邏輯,使開發更加高效。 但這里的 MVC 又稍微發了點變化:

  • View UI布局,展示數據。
  • Model 管理數據。
  • Controller 響應用戶操作,并將 Model 更新到 View 上。

這種 MVC 架構模式對于簡單的應用來看起是OK 的,也符合軟件架構的分層思想。 但實際上,隨著H5 的不斷發展,人們更希望使用H5 開發的應用能和Native 媲美,或者接近于原生App 的體驗效果,于是前端應用的復雜程度已不同往日,今非昔比。這時前端開發就暴露出了三個痛點問題:

  • 開發者在代碼中大量調用相同的 DOM API, 處理繁瑣 ,操作冗余,使得代碼難以維護。
  • 大量的DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗。
  • 當 Model 頻繁發生變化,開發者需要主動更新到View ;當用戶的操作導致 Model 發生變化,開發者同樣需要將變化的數據同步到Model 中,這樣的工作不僅繁瑣,而且很難維護復雜多變的數據狀態。

其實,早期jquery 的出現就是為了前端能更簡潔的操作DOM 而設計的,但它只解決了***個問題,另外兩個問題始終伴隨著前端一直存在。

3、MVVM 的出現,***解決以上三個問題

MVVM 由 Model,View,ViewModel 三部分構成,Model 層代表數據模型,也可以在Model中定義數據修改和操作的業務邏輯;View 代表UI 組件,它負責將數據模型轉化成UI 展現出來,ViewModel 是一個同步View 和 Model的對象。

在MVVM架構下,View 和 Model 之間并沒有直接的聯系,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此View 數據的變化會同步到Model中,而Model 數據的變化也會立即反應到View 上。

ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,而View 和 Model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作DOM, 不需要關注數據狀態的同步問題,復雜的數據狀態維護完全由 MVVM 來統一管理。

4、Vue.js 細節

Vue.js 可以說是MVVM 架構的***實踐,專注于 MVVM 中的 ViewModel,不僅做到了數據雙向綁定,而且也是一款相對比較輕量級的JS 庫,API 簡潔,很容易上手。Vue的基礎知識網上有現成的教程,此處不再贅述, 下面簡單了解一下 Vue.js 關于雙向綁定的一些實現細節:

Vue.js 是采用 Object.defineProperty 的 getter 和 setter,并結合觀察者模式來實現數據綁定的。當把一個普通 Javascript 對象傳給 Vue 實例來作為它的 data 選項時,Vue 將遍歷它的屬性,用 Object.defineProperty 將它們轉為 getter/setter。用戶看不到 getter/setter,但是在內部它們讓 Vue 追蹤依賴,在屬性被訪問和修改時通知變化。

MVVM

  • Observer 數據監聽器,能夠對數據對象的所有屬性進行監聽,如有變動可拿到***值并通知訂閱者,內部采用Object.defineProperty的getter和setter來實現。
  • Compile 指令解析器,它的作用對每個元素節點的指令進行掃描和解析,根據指令模板替換數據,以及綁定相應的更新函數。
  • Watcher 訂閱者, 作為連接 Observer 和 Compile 的橋梁,能夠訂閱并收到每個屬性變動的通知,執行指令綁定的相應回調函數。
  • Dep 消息訂閱器,內部維護了一個數組,用來收集訂閱者(Watcher),數據變動觸發notify 函數,再調用訂閱者的 update 方法。

從圖中可以看出,當執行 new Vue() 時,Vue 就進入了初始化階段,一方面Vue 會遍歷 data 選項中的屬性,并用 Object.defineProperty 將它們轉為 getter/setter,實現數據變化監聽功能;另一方面,Vue 的指令編譯器Compile 對元素節點的指令進行掃描和解析,初始化視圖,并訂閱Watcher 來更新視圖, 此時Wather 會將自己添加到消息訂閱器中(Dep),初始化完畢。

當數據發生變化時,Observer 中的 setter 方法被觸發,setter 會立即調用Dep.notify(),Dep 開始遍歷所有的訂閱者,并調用訂閱者的 update 方法,訂閱者收到通知后對視圖進行相應的更新。

以上內容是我在大半年的項目實踐之后,對MVVM 和 Vue.js 的一點點簡單認識和總結,希望對各位有所幫助!

責任編輯:張子龍 來源: 博客園
相關推薦

2022-04-14 09:35:03

Vue.js設計Reflect

2016-11-04 19:58:39

vue.js

2017-07-04 17:55:37

Vue.js插件開發

2018-04-04 10:32:13

前端JavascriptVue.js

2022-01-19 22:18:56

Vue.jsVue SPA開發

2021-01-22 11:47:27

Vue.js響應式代碼

2020-09-07 14:40:20

Vue.js構建工具前端

2016-11-01 19:10:33

vue.js前端前端框架

2017-07-14 10:10:08

Vue.jsMixin

2024-05-13 08:04:26

Vue.jsWeb應用程序

2017-07-11 18:00:21

vue.js數據組件

2017-08-30 17:10:43

前端JavascriptVue.js

2023-03-29 14:25:08

Vue.js前端框架

2023-03-16 14:29:48

Vue.js測試

2024-01-18 11:50:28

2019-07-26 14:40:58

Vue.jsSocket.IO前端

2021-07-30 05:06:48

Vue 2Vue 3

2016-09-21 13:32:13

JavascriptWeb前端

2020-09-16 06:12:30

Vue.js 3.0Suspense組件前端

2021-04-14 12:47:50

Vue.jsMJML電子郵件
點贊
收藏

51CTO技術棧公眾號

欧美拍拍视频| 亚洲天堂男人av| 亚洲精品一区在线| 性久久久久久久| 青娱乐国产91| 国产日韩在线观看一区| 亚洲国产免费看| 亚洲欧洲xxxx| 三级黄色片播放| 成人性教育av免费网址| 亚洲人成亚洲人成在线观看图片| 成人xxxxx色| 亚洲欧美日韩一区二区三区四区| 午夜av一区| 精品一区二区三区电影| 一区二区在线免费看| 成人三级高清视频在线看| 中文字幕av不卡| 国产欧美日韩伦理| 亚洲天堂2021av| 午夜在线精品偷拍| 免费91在线视频| 色欲狠狠躁天天躁无码中文字幕| 亚洲国产中文在线二区三区免| 欧美性猛交xxxx富婆| 潘金莲一级淫片aaaaa免费看| 三级视频在线| 粉嫩一区二区三区性色av| 国产精品欧美激情| 97人人澡人人爽人人模亚洲| 91九色精品| 国产一区二区日韩| 天天插天天射天天干| 精品一区二区三区中文字幕视频 | 欧美一区二区日韩| 国产女女做受ⅹxx高潮| 成年网站在线视频网站| 亚洲男同性恋视频| 亚洲免费在线精品一区| 免费人成黄页在线观看忧物| 成人app下载| 99porn视频在线| 国产特级黄色片| 捆绑紧缚一区二区三区视频 | 中文字字幕在线中文| 国产一区二区中文| 欧美成人精品一区| 色哟哟一一国产精品| 日本大胆欧美| 中文国产成人精品| 永久免费av无码网站性色av| 国产成人三级| 亚洲午夜精品久久久久久性色| 污污内射在线观看一区二区少妇| 99久久香蕉| 欧美videos中文字幕| aaaaa黄色片| 欧美国产中文高清| 日韩欧美第一区| 美女久久久久久久久| 亚洲一区二区三区日本久久九| 日韩一区二区视频在线观看| 亚洲综合伊人久久| 我要色综合中文字幕| 日韩欧美一级二级| 少妇伦子伦精品无吗| 粉嫩的18在线观看极品精品| 亚洲成人动漫在线播放| 亚洲色图欧美日韩| 色狠狠久久av综合| 亚洲三级av在线| 一级二级黄色片| 亚洲精品久久久| 欧美激情一区二区三区成人 | 合欧美一区二区三区| 久久久久亚洲精品成人网小说| 精品一区免费观看| 国产农村妇女精品一区二区| 国产精品久久久久久久久久新婚 | 亚洲欧美不卡| 国产精品福利网站| 97人妻一区二区精品免费视频 | 国产日本欧美一区二区三区在线 | 久久成人久久爱| 91视频国产高清| 性欧美videos另类hd| aaa欧美色吧激情视频| 日本在线观看一区二区| 免费黄网站在线播放| 一区二区三区四区高清精品免费观看 | 无限资源日本好片| 精品入口麻豆88视频| 亚洲第一网中文字幕| 免费看污片网站| 国产电影一区二区在线观看| 久久99精品久久久久久青青91| 国产69精品久久久久久久久久| 日韩激情一二三区| 91免费版黄色| 国产在线一二三| 亚洲精品国产a久久久久久| 鲁一鲁一鲁一鲁一色| 黄色成人在线观看网站| 精品国产伦一区二区三区免费 | 亚洲欧美成aⅴ人在线观看| 夜夜添无码一区二区三区| 日本欧美日韩| 精品免费国产一区二区三区四区| 韩国三级hd中文字幕| 欧美精品18| 国产精品久久久久久久久影视| 丰满少妇高潮在线观看| 国产精品美女视频| 久久久久免费看黄a片app| 青青久久精品| 精品亚洲一区二区三区在线播放| 加勒比婷婷色综合久久| 日本aⅴ亚洲精品中文乱码| 日韩大陆欧美高清视频区| 四季av中文字幕| 在线欧美一区| 7777精品久久久大香线蕉小说| 激情视频在线观看免费| 亚洲综合男人的天堂| 伊人网在线综合| 免费一区二区三区视频导航| 欧美黑人一级爽快片淫片高清| 在线观看免费视频一区| 91麻豆国产精品久久| 成年女人18级毛片毛片免费 | 欧美日韩在线精品一区二区三区激情| 精品人妻在线视频| 91成人免费| 国产色视频一区| 岛国视频免费在线观看| 欧美日韩国产综合视频在线观看中文 | 欧美影视一区二区| 精品众筹模特私拍视频| 精品国产伦一区二区三区观看体验 | 久久久久观看| 欧美肥婆姓交大片| a在线观看视频| 亚洲欧洲制服丝袜| 久久婷婷中文字幕| 999久久久精品国产| 国产精品成人免费电影| 国内精品一区视频| 色域天天综合网| 日本黄色特级片| 国产亚洲成人一区| 精品一卡二卡三卡四卡日本乱码| 1024在线看片你懂得| 日韩美女一区二区三区四区| av激情在线观看| 国产精品 欧美精品| 玖玖精品在线视频| 51vv免费精品视频一区二区 | 26uuu亚洲电影| 亚洲精品一区久久久久久| 影音先锋在线国产| 欧美激情在线一区二区三区| 成人免费观看视频在线观看| av成人资源网| 欧美高清视频一区二区| 日本毛片在线观看| 岛国精品视频在线播放| 国产精品密蕾丝袜| 日本中文字幕一区二区有限公司| 午夜欧美性电影| 国产aa精品| 久久久久免费视频| 香蕉视频国产在线| 欧美性受极品xxxx喷水| 99热在线观看精品| 成人视屏免费看| 久久精品午夜福利| 久久一区二区三区喷水| 91久久精品www人人做人人爽| heyzo在线| 一区二区三区四区在线观看视频| 中日韩在线观看视频| 亚洲美女少妇撒尿| 无码成人精品区在线观看| 久久精品国语| 色中文字幕在线观看| 国产乱人伦丫前精品视频| 欧美壮男野外gaytube| 97超碰人人在线| 日韩精品一区二区三区swag| 国产精品一区二区三区四| 国产精品麻豆一区二区| 久久久久亚洲av片无码v| 免费久久99精品国产自在现线| 视频一区三区| 2023国产精华国产精品| 国产精品wwwwww| 欧美人与性动交α欧美精品济南到| 日韩精品小视频| 999av视频| 色欧美乱欧美15图片| 久久中文免费视频| 久久精品欧美日韩精品 | 中文字幕在线天堂| 亚洲一区二区三区视频在线播放 | 2019亚洲男人天堂| 免费黄色在线观看| 亚洲欧美日本精品| 高清一区二区三区四区| 欧美午夜一区二区| 日本少妇激情视频| **网站欧美大片在线观看| 成人影视免费观看| 粉嫩在线一区二区三区视频| 亚洲久久中文字幕| 久久精品盗摄| 久在线观看视频| 91av精品| 亚洲精品一区二区三区蜜桃久| 国产精品毛片视频| 成人在线精品视频| 日韩一级二级| 68精品久久久久久欧美| 啪啪免费视频一区| 久久精品在线视频| yourporn在线观看视频| 精品无人区乱码1区2区3区在线| 国产高清第一页| 欧美酷刑日本凌虐凌虐| 中文亚洲av片在线观看| 欧美日韩视频免费播放| 欧美日韩中文视频| 亚洲一区二三区| 青娱乐国产在线视频| 中文字幕一区二区三区在线不卡| 中文字幕网站在线观看| 99r国产精品| 性欧美丰满熟妇xxxx性久久久| 国产成人在线色| 亚洲一级片免费观看| 久久99精品久久久| 鲁一鲁一鲁一鲁一av| 日韩精品成人一区二区三区 | 澳门成人av网| 51久久精品夜色国产麻豆| av成人福利| 九九久久精品一区| 青春草在线视频| 欧美高清在线观看| 欧洲精品二区| 久久久在线观看| av手机免费在线观看| 国模私拍视频一区| 激情国产在线| 国产成人精品综合久久久| 在线能看的av网址| 国产福利视频一区二区| 91九色综合| 国产日韩在线精品av| 国产日韩一区二区三免费高清| 91成人免费观看| 国产乱人伦精品一区| 久久久福利视频| 国产亚洲一区二区三区啪| 天堂一区二区三区 | 欧美日韩a v| 欧美在线影院一区二区| 一级片视频网站| 日韩精品一区二区在线| 手机在线精品视频| 亚洲欧美中文字幕在线一区| 国产原创av在线| 久久精品久久久久电影| 伊人影院蕉久影院在线播放| 久久久免费电影| 日本韩国欧美| 91在线观看免费高清| 国内精品国产成人国产三级粉色 | 国产精品普通话| 国产一区二区三区亚洲综合| 国产日产精品一区二区三区四区| 亚洲婷婷伊人| www.午夜色| 中文日韩欧美| 中文字幕成人在线视频| 国产不卡一区视频| 性久久久久久久久久| 日韩一区在线播放| 国产一级性生活| 91搞黄在线观看| 国产成人精品一区二区无码呦| 亚洲精品国产精品自产a区红杏吧| 国产在线一在线二| 欧美黑人性视频| 久久人体av| 久久久久久九九九九| 91九色精品| 日本精品一区二区三区四区| 狠狠久久亚洲欧美| 丝袜人妻一区二区三区| 久久精品主播| 中文字幕第六页| 国产欧美一区二区三区网站| 久久免费少妇高潮99精品| 欧美综合色免费| 好吊视频一二三区| 日韩在线欧美在线国产在线| 超碰激情在线| 2014亚洲精品| 精品免费在线| 日本在线播放一区| 国产精品激情| 五月天婷婷影视| 国产午夜亚洲精品午夜鲁丝片 | www.在线播放| 91国在线精品国内播放 | 视频一区二区国产| 超碰caoprom| 日韩理论片一区二区| 蜜臀精品一区二区三区| 精品国产乱码久久久久久久久 | 美女网站免费观看视频| 成人免费毛片嘿嘿连载视频| 欧美人禽zoz0强交| 欧美日韩二区三区| 国产免费a∨片在线观看不卡| 国语对白做受69| 亚洲一区二区三区四区电影| 国产欧美综合一区| 久久国产精品无码网站| av电影在线不卡| 色婷婷综合久色| 五月天婷婷社区| 高清欧美电影在线| 视频在线观看免费影院欧美meiju| 国产日韩视频在线播放| 免费高清在线一区| 极品尤物一区二区| 欧洲精品在线观看| 黄色片视频在线观看| 欧美在线视频网站| 一本久久青青| 亚洲成熟丰满熟妇高潮xxxxx| 91蜜桃视频在线| 五月天激情国产综合婷婷婷| 亚洲精品网址在线观看| 涩涩av在线| 欧美连裤袜在线视频| 亚欧成人精品| 91视频在线网站| 欧美最新大片在线看| 第三区美女视频在线| 国产精品一区久久| 91日韩在线| 天天爽夜夜爽视频| 亚洲国产精品综合小说图片区| 国产综合无码一区二区色蜜蜜| 久久久影视精品| 你懂的视频欧美| 国产av人人夜夜澡人人爽| 中文一区在线播放| 91精品国自产| 欧美精品做受xxx性少妇| 深夜激情久久| 国产精品无码人妻一区二区在线| av影院午夜一区| 91麻豆精品在线| xxxxx91麻豆| 精品国产亚洲一区二区三区在线| 91传媒免费视频| 91麻豆免费观看| 国产精品无码一区| 两个人的视频www国产精品| 亚洲免费一区三区| 欧美日韩在线中文| 中文字幕欧美激情一区| 精品久久国产视频| 国外成人在线视频| 欧美亚洲国产精品久久| 一级片黄色免费| 欧美日韩一区二区免费视频| 日本国产在线| 成人国产在线视频| aa亚洲婷婷| 正在播放国产对白害羞| 欧美xxxx在线观看| 欧洲av一区二区| 青青在线视频免费观看| 久久久一区二区| www.国产欧美| 日韩av电影国产| 欧美日本亚洲韩国国产| 成人免费无遮挡无码黄漫视频| 欧美一区二区三区的| 欧美久久天堂| 男同互操gay射视频在线看| 99视频精品在线| 国产乱淫a∨片免费观看| 66m—66摸成人免费视频| 亚洲天天综合| 白白色免费视频|