迷你MVVM框架 avalonjs v6.1發布,性能大幅提高


本次更新,帶來了幾個新API與在IE6的更好性能。

  • 添加ms-css綁定,用法為ms-css-xxx=yyy, 相當於jQuery的$el.css(xxx,yyy)操作,不同的,以后yyy有什么改動,框架都是自動幫你處理。
  • 添加非常好用的html過濾器,即{{ xxx | html}} 相當於原來的 ms-html="xxx",不同的是ms-html是直接使用innerHTML,會替換掉原元素的所有子節點,而html過濾器只對原子節點進行替換,不會傷及無辜。
  • 重構ready,原來的對document.readyState強行重置,目的是修復firefox3.5-沒有document.readyState的BUG,但會在舊式IE下引起瘋狂的檢測,如果沒有nextTick,這問題都就暴露出來,把IE6-8卡死了。現在去他媽的firefox3.5-,不修了!然后去掉each綁定的兩個nextTick,基本上IE就“刷”的一下全部內容出來了。不像angular,knockout那樣有明顯的停滯!這次優化后,估計DOM就沒有什么優化余地了。
  • 循環利用文檔碎片,整個庫只使用一個文檔碎片及其克隆。能不克隆的地方就盡量不克隆,因為文檔碎片在插入DOM樹后,又還原為一個子節點也沒有了,作為搬運工,這特性很好用。
  • 重構監控數組與each綁定,現在不會在排序時移動節點了,只是回填數據,這是knockout的“最短編輯長度”算法做得更絕。
  • 添加noop 方法,就是一個空函數。
  • addClass, removeClass, toggleClass現在可以處理多個類名了。
  • data方法一個傳參也沒有時,行為與jQuery保持一致,返回一個對象。

此外,實現一大堆UI組件,包括

  • ms-draggable="dragcallback""
  • ms-ui="slider"
  • ms-ui="autocomplete"
  • ms-ui="button"
  • ms-ui="tabs"
  • ms-ui="progressbar"
  • ms-ui="accordion"
  • ms-ui="spinner"
  • ms-ui="datepicker"

官網地址為http://rubylouvre.github.io/mvvm/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM