原文:迷你MVVM框架 avalonjs 學習教程1、引入avalon

avalon是國內最強大的MVVM框架,沒有之一,雖然淘寶KISSY團隊也搞了兩個MVVM框架,但都無疾而終。其他的MVVM框架都沒幾個。也只有外國人與像我這樣閑的架構師才有時間鑽研這東西。我很早之前就預言,MVVM是前端的終極解決方案。我之前在盛大無線做盛大通行證就深有體會,一個業務邏輯對應十來個不同的界面,分層架構是必不可少的。因此雙向綁定作為解葯,結合很早就流行的MVC框架,衍生出MVVM這 ...

2014-09-09 16:14 14 7429 推薦指數:

查看詳情

迷你MVVM框架 avalonjs 學習教程19、avalon歷史回顧

avalon最早發布於2012.09.15,當時還只是mass Framework的一個模塊,當時為了解決視圖與JS代碼的分耦,參考knockout開發出來。 它的依賴收集機制,視圖掃描,綁定的命名data-*都與knockout差不多。它總共900行。 當時的理論體現在我在注釋的這一段 ...

Fri Oct 17 18:53:00 CST 2014 6 1893
迷你MVVM框架 avalonjs 學習教程22、avalon性能大揭密

avalon之所以能在頁面處理1W個綁定(angular對應的數字是2000),出於兩個重要設計——基於事件驅動的雙向綁定鏈及智能CG回收機制。 avalon的雙向綁定鏈是通過Object.defineProperties及VBScript,將要操作VM屬性變成一種訪問器屬性。訪問器屬性是一種 ...

Wed Nov 05 19:28:00 CST 2014 5 2566
迷你MVVM框架 avalonjs 學習教程17、avalon的一些配置項

本章節,主要是介紹avalon.config方法,通過它來制定一些更貼心的功能。 一般情況下,我們在使用ms-controller綁定時,需要添加一個ms-controller類名,目的是為了防止網速慢時將花括號暴露出來。 <!DOCTYPE html> <html> ...

Mon Oct 13 18:43:00 CST 2014 0 2401
迷你MVVM框架 avalonjs 學習教程16、過濾器

avalon的過濾器是參考自angular與rivets。它也被稱做管道文本過濾器,它的處理對象只能是文本(字符串),它只能用在文本綁定中,並且只能是雙花括號形式。下面是各大家的過濾器比較: rivetsjs <span rv-text="event.startDate | date ...

Sat Oct 11 18:52:00 CST 2014 0 3489
迷你MVVM框架 avalonjs 學習教程21、雙向綁定鏈

avalon的雙向綁定機制,是通過一條依賴鏈實現。此依賴鏈最底層是監控屬性、監控數組,中層是計算屬性、監控函數,再上點是求值函數,最上層是視圖刷新函數。 所謂計算屬性,監控屬性,監控函數屬性,我們改變它們的值,它們會引發視圖變化;而監控數組,是我們調用它的一些方法,也會引發視圖變化 ...

Mon Nov 03 19:12:00 CST 2014 0 2424
迷你MVVM框架 avalonjs 學習教程9、類名操作

ms-class是avalon用得最多的幾個綁定之一,也正因為如此其功能一直在擴充中。根據時期的不同,分為舊風格與新風格兩種。 舊風格是指ms-class-xxx=”expr”,*ms-class-aaa-bbb=”expr”*。正如第三節《綁定屬性與掃描機制》所講,一個綁定屬性分成三部 ...

Fri Sep 19 18:56:00 CST 2014 0 2762
迷你MVVM框架 avalonjs 學習教程10、樣式操作

一般情況下我們通過設置類名就可以改變元素的樣式,但涉及到動畫部分,就一定需要設置內聯樣式了,因此有了ms-css。*ms-css*的用法為ms-css-樣式名="樣式值", 如ms-css-width ...

Mon Sep 22 18:13:00 CST 2014 1 2322
迷你MVVM框架 avalonjs 學習教程11、循環操作

avalon是通過ms-repeat實現對一組數據的批量輸出。這一組數據可以是一個數組,也可以是一個哈希(或叫對象)。我們先從數組說起吧。 第二節就說,凡是定義在VM中的數組,如果沒有以$開頭或者沒放在$skipArray數組里,都會轉會監控數組。監控數組其實就是一個被重寫了push ...

Thu Sep 25 19:51:00 CST 2014 2 5239
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM