當前位置:首頁 » 網頁前端 » mvvm前端
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

mvvm前端

發布時間: 2022-01-25 21:03:15

❶ MVVM是前端還是後端范疇

如果你是從整個服務角度宏觀來看的話,MVVM中的M和VM在後端,V在前端(也有人認為VM不一定在後端,我傾向於VM和M的關系更緊密,實現也一般都在後端)。

❷ 前端的mvvm是什麼意思

View一般就是我們平常說的HTML文本的Js模板,裡面可以嵌入一些js模板的代碼,比如Mustache,比如jstl類似的模板偽代碼

ViewMole層裡面就是我們對於這個視圖區域的一切js可視業務邏輯,舉個例子,比如圖片走馬燈特效,比如表單按鈕點擊提交,這些自定義事件的注冊和處理邏輯都寫在ViewMole裡面了

Mole就更簡單了,就是對於純數據的處理,比如增刪改查,與後台CGI做交互

那麼什麼是MVVM框架呢??一般他們都是這么做的

1. 定義一串所謂的偽模板代碼,例如通過className標注,或者自定義tag的方式,將一段html文本區域給標注聲明起來,意思就是喊一嗓子,「喂,兄弟們,這塊地方我佔了,要拉屎去別處拉去」

2. 通過類似jstl之類lamda表達式,來做js模板,「拜託伙計,天堂有路你不走,非要自己搞一套,你就不能暴露介面讓大家用自己的模板語言,比如Mustache或者jtpl嗎?」

3. 很傻比的封裝一串自己的所謂數據模塊組件,與不同類型的數據源做數據傳輸和適配,一般都不會分層很清晰,加入後台數據欄位改了,寫框架的都沒腦子的,從來不做數據欄位的自定義適配(舉個例子,原來後台傳遞的欄位是person.userName,現在改成了小寫,person.username,你就傻逼的去吧模板再改一下吧,其實要解決這個問題,非常簡單,在MVVM層中引入一層DO,領域對象層,Mole到DO之間還有一層轉換就可以搞定這個問題)

4. 非不暴露自己的自定義事件模型,就是那個觀察者模式啦,自己亂七八招在頁面上綁定一堆form change之類的事件,以實現View與Mole的單向綁定

5. 所謂的雙向綁定,也就是OOP語言中早被爛透了的getter,setter模型,ES5+可以用defineProperty,低版本就需要自己在js object賦值的時間做寫死代碼方式的處理了

❸ Web前端開發:為何選擇MVVM而非MVC

在MVC原始報告中指出:view永遠不會知道用戶輸入,比如滑鼠操作和按鍵。很顯然,在Web前端,你無法做到這一點,因為Web的程序中,用戶的輸入必須通過監聽窗口、文檔和元素上的事件來獲得。——而這些東西常常被認為是View。於是一些奇怪的認識誕生了,比如認為Controller應該是View操作Model的中介。我曾經嘗試設計一個編程模型讓所有的事件流經Controller,但是事實上我發現這樣的做法非常糟糕。——這個嘗試讓我從MVC轉向了MVVM。John Gossman(WPF的架構師)在他的文章中提到,Model/View/ViewModel中的View表示可見元素,按鈕,窗體,圖形或者GUI中更復雜的控制項,它會對快捷鍵進行編碼,並且控制項自身會管理跟輸入設備的交互——這在MVC中本該是Controller負責的(現代GUI環境中發生在Controller上的事情是很長的題外話……我傾向於認為它只是隱藏到後台了,它仍然存在,但是我們不需要像是1979年那樣考慮那麼多事情了)MVC這樣的結構的正確性在於,任何界面都需要面對一個用戶,而Controller 「是用戶和系統之間的鏈接」。在經典MVC中,Controller要做的事情多數是派發用戶輸入給不同的View,並且在必要的時候從View中獲取Editor來更改Model,而Web以及絕大多數現在的UI系統中,Controller的職責已經被系統實現了。下面的圖片說明了這樣的演進過程:總而言之,對於MVC為1979年的SmallTalk設計 界面和程序都由同一種語言編寫用戶輸入完全由程序編寫者來處理View是單純用於顯示對於MVVM為2005年的WPF設計

❹ Web前端真的需要用MVVM框架嗎

這個完全看業務方向和公司需求, 我做前端4年了,也是從BAT出來,但是沒有過那麼強烈的需求做 mv* 神馬的。 掌握好WEB開發基本原理和基礎前端技術,夯實編程功底顯得更加重要,你完全可以輕松的根據自己所在公司的業務特點開發一套更加貼合自己的 MVVM 框架。
開課吧有一些實戰案例的視頻教程,個人感覺內容還不錯,推薦你去試聽一下,希望你能夠在web開發的道路上越走越遠!

❺ mvc和mvvm是前端還是後端

你這個說法其實不嚴密,MVC這種三層結構本身與前後端無關,僅僅前端自己,也可以用MVVM三層來實現,像React、Vue都是這樣的。
如果你是從整個服務角度宏觀來看的話,MVC裡面的M和C在後端,V在前端;MVVM中的M和VM在後端,V在前端(也有人認為VM不一定在後端,我傾向於VM和M的關系更緊密,實現也一般都在後端)

❻ 前端mvvm框架怎麼兼顧seo

方案1,你可以在伺服器端運行一個瀏覽器實例來執行你的應用里的Javascript,然後從DOM中卸下HTML(使用PlantomJS或者WebLoop)。 或者你可以創建一個服務端生成的專供爬蟲的替代性HTML版本。
前者, 需要你為每一個頁面載入建立一個headless瀏覽器(或者tab),比起直接產出HTML,這樣會花費很多的時間和系統資源。 取決於你使用的框架,需要不少精力來決定什麼時候頁面已經准備好了。 你可以緩存頁面,但是如果頁面經常改變,那麼緩存只能起到非常有限的優化作用,而且會增大復雜度。
後者(創建一個替代性的伺服器端站點)對簡單站點而言足夠了

❼ 能通俗易懂的介紹一下前端的mvc和mvvm么

一、MVC

MVC模式的意思是,軟體可以分成三個部分。

唯一的區別是,它採用雙向綁定(data-binding):View的變動,自動反映在 ViewModel,反之亦然。Angular和Ember都採用這種模式

❽ 前端mvvm框架有哪些

MVVM框架:angularjs emberjs react vue等
https://segmentfault.com/q/1010000000307033

❾ 什麼是前端mvc,MVVM,MVP哦.弄得我頭暈

所以你可以說MVVM是MVC的一種。但是缺少了MVC中間的C部分。怎麼說了,說好聽點,是想為你省事,幫你做了點你不需要的東西,但這個新東西,總要有個概念,好方便按照他的約束來玩。所以多出新名詞。
說難聽點,沒事找事。
這如同,有人說堅持,B/S不是C/S,這不算裝B。但是說B/S和C/S沒有隸屬關系,B/S不能稱為一種C/S的模式,就是裝B了。
你搞清楚MVC先,然後搞清楚後面的名詞,和前面的名詞差別。別反過來學習。否則會郁悶的。

❿ 現在國內哪些大型網站是用前端mvvm框架開發

幾乎都用到,而且還會不同站點用不同的框架,估計是不同項目組的原因, 網路,淘寶,京東,騰訊網,網易都用到MVVM框架