最近有許多人問我怎么用這東西,如果是那些用過knockout的人還好,之前沒有接觸過MVVM的人可能一頭霧水。大多數人被我那個jquery ui的演示吸引過來,都深感它的威力之大。 這里詳細介紹一下它的用法吧。 第一步,當然是引入avalon庫,就像引入jQuery庫那樣,當然要從官網下。現在 ...
本文將深入介紹一下avalon的運作機理及與jQuery的區別。 許多人都知道MVVM是MVC的一個變體,但那些MVC是在后端的,包括微軟的WPF,這意味着這個V與我們前端接觸到的V差別很大。后端的V就是使用各種模板拼湊成一個靜態頁面給前端。而前端的V在JSer的眼中就是一個巨大的DOM樹,要考慮加載時間,渲染順序,瀏覽器對HTML的容錯與修復,瀏覽器的默認事件,新圖片與節點增刪移動引起的refl ...
2013-05-04 13:18 3 2305 推薦指數:
最近有許多人問我怎么用這東西,如果是那些用過knockout的人還好,之前沒有接觸過MVVM的人可能一頭霧水。大多數人被我那個jquery ui的演示吸引過來,都深感它的威力之大。 這里詳細介紹一下它的用法吧。 第一步,當然是引入avalon庫,就像引入jQuery庫那樣,當然要從官網下。現在 ...
avalon最早發布於2012.09.15,當時還只是mass Framework的一個模塊,當時為了解決視圖與JS代碼的分耦,參考knockout開發出來。 它的依賴收集機制,視圖掃描,綁定的命名data-*都與knockout差不多。它總共900行。 當時的理論體現在我在注釋的這一段 ...
avalon是國內最強大的MVVM框架,沒有之一,雖然淘寶KISSY團隊也搞了兩個MVVM框架,但都無疾而終。其他的MVVM框架都沒幾個。也只有外國人與像我這樣閑的架構師才有時間鑽研這東西。我很早之前就預言,MVVM是前端的終極解決方案。我之前在盛大無線做盛大通行證就深有體會,一個業務邏輯對應 ...
avalon之所以能在頁面處理1W個綁定(angular對應的數字是2000),出於兩個重要設計——基於事件驅動的雙向綁定鏈及智能CG回收機制。 avalon的雙向綁定鏈是通過Object.defineProperties及VBScript,將要操作VM屬性變成一種訪問器屬性。訪問器屬性是一種 ...
很多時候,寫代碼就像砌磚頭,只要我們不關心蓋樓的原因、建築的原理、土木工程基礎和工程經驗,就算我們砌了100棟高樓,我們也就只是一個砌磚工人,永遠也成為不了一個工程師,更別說建築師了。而那些包工頭也只會把我們當成勞動力罷了。——左耳朵耗子 avalon在兼容舊式IE上做了大量工作 ...
avalon已經從mass Framework抽取出來,沒有任何依賴。 主要優點如下 使用簡單,在HTML中添加綁定,在JS中用avalon.define定義ViewModel,再調用avalon.scan方法,它就能動了! 兼容到IE6 沒有任何依賴,只有77K,壓縮后22K ...
本章節,主要是介紹avalon.config方法,通過它來制定一些更貼心的功能。 一般情況下,我們在使用ms-controller綁定時,需要添加一個ms-controller類名,目的是為了防止網速慢時將花括號暴露出來。 <!DOCTYPE html> <html> ...
avalon是一個迷你高效易用的MVVM框架,遵循“操作數據即操作DOM”的理念,讓你在代碼里基本見不到一點DOM操作代碼。DOM操作全部在綁定后,交給框架處理。相當后端有了ORM一樣,不用你手寫SQL,提高生產力! 此版本只要是小補小修。只要改進有 IE透明濾鏡強制使用zoom ...