屬性操作是DOM操作很大的一塊,它包括類名操作,表單元素的value屬性操作,元素固有屬性的管理,元素自定義屬性的管理,某些元素的一些布爾屬性的操作。大多數情況下,元素屬性的值是字符串類型,我們稱之為字符串屬性,但有一些屬性的是布爾,也存在是數字類型、節點引用的情況。當前jQuery處理 ...
avalon的ViewModel對象從其內部EventManager里繼承了三個方法, watch unwatch fire三個方法,它們就是我們本節的主題。 詞如其名,非常直白,一看就知道做什么。我們先從 watch方法說起,它能監聽當前的VM第一層的監控屬性 與 計算屬性,如果某屬性是一個對象,想監控其子孫屬性,就需要定位到此對象上使用 watch回調了。 watch回調會默認傳入先后兩個屬性 ...
2014-10-10 16:56 5 3382 推薦指數:
屬性操作是DOM操作很大的一塊,它包括類名操作,表單元素的value屬性操作,元素固有屬性的管理,元素自定義屬性的管理,某些元素的一些布爾屬性的操作。大多數情況下,元素屬性的值是字符串類型,我們稱之為字符串屬性,但有一些屬性的是布爾,也存在是數字類型、節點引用的情況。當前jQuery處理 ...
在MVVM框架中,你都會看到頁面定了許多奇怪的屬性,比如knockout的data-☆,angular的ng-☆,avalon的ms-☆,此外還有一些只寫文本節點上的雙花括號,它們統稱為指令。ms-☆由於定義在元素節點上,是一個特性節點(Attribute),因此稱為綁定屬性。 雙花括號稱之為插值 ...
一個項目是由許多人分工寫的,因此必須要合理地拆散,於是有了模塊化。體現在工作上,PM通常它這為某某版塊,某某頻道,某某頁面。某一個模塊,必須是包含其固有的數據,樣式,HTML與處理邏輯。在jQuery時代,奉行的是“無侵入式javascript”,頁面雖然是拆成一塊塊,但最后是通過PHP等后端模板 ...
avalon的過濾器是參考自angular與rivets。它也被稱做管道文本過濾器,它的處理對象只能是文本(字符串),它只能用在文本綁定中,並且只能是雙花括號形式。下面是各大家的過濾器比較: riv ...
avalon最早發布於2012.09.15,當時還只是mass Framework的一個模塊,當時為了解決視圖與JS代碼的分耦,參考knockout開發出來。 它的依賴收集機制,視圖掃描,綁定的命名data-*都與knockout差不多。它總共900行。 當時的理論體現在我在注釋的這一段 ...
avalon的雙向綁定機制,是通過一條依賴鏈實現。此依賴鏈最底層是監控屬性、監控數組,中層是計算屬性、監控函數,再上點是求值函數,最上層是視圖刷新函數。 所謂計算屬性,監控屬性,監控函數屬性,我們改變它們的值,它們會引發視圖變化;而監控數組,是我們調用它的一些方法,也會引發視圖變化 ...
ms-class是avalon用得最多的幾個綁定之一,也正因為如此其功能一直在擴充中。根據時期的不同,分為舊風格與新風格兩種。 舊風格是指ms-class-xxx=”expr”,*ms-class-aaa-bbb=”expr”*。正如第三節《綁定屬性與掃描機制》所講,一個綁定屬性分成三部 ...
avalon是國內最強大的MVVM框架,沒有之一,雖然淘寶KISSY團隊也搞了兩個MVVM框架,但都無疾而終。其他的MVVM框架都沒幾個。也只有外國人與像我這樣閑的架構師才有時間鑽研這東西。我很早之前就預言,MVVM是前端的終極解決方案。我之前在盛大無線做盛大通行證就深有體會,一個業務邏輯對應 ...