又到每月的15號了,如今avalon已經固定在每月的15號發佈新版本。此次發佈又帶來許多新特性,讓你們寫碼更加輕鬆,藉助於「操做數據即操做DOM」的核心理念與雙向綁定機制,如今愈來愈多人加入到avalon的陣營中來。此外,基於avalon的UI庫OniUI也愈來愈強大,很快,樹組件也開發完畢,下星期也與你們見面了。到時,OniUI也有兩個Grid組件,一個樹組件的完整UI庫。與本次發佈的UI還有驗證組件,mask組件,百葉窗切換組件……javascript
UI庫的廣告就到時爲止,咱們看一下新版本帶來的新特性與FIX BUG狀況吧。php
avalon.scanCallback = function(fn, group) { group = group || "$all" var array = scanObject[group] || (scanObject[group] = []) array.push(fn) } avalon.scan = function(elem, vmodel, group) { elem = elem || root group = group || "$all" //.....略 }
本次升級主打的是ms-duplex 2.0,你們能夠到這裏一窺其強大!ms-duplex2.0相對於舊的ms-duplex只能將element.value簡單地同步到VM中,它添加了自動轉換類型的功能(核心庫),光標引導(avalon.mask),數據格式化(參看avalon.mask的第三個例子,將用戶輸入內容自動插入千分符),驗證機制(avalon.validation)。html
第二大新特性就添加了avalon.scanCallback這新方法,容許用戶在掃描後進行操做。有了這東西,什麼data-include-rendered, data-repeat-rendered, data-with-rendered就沒有存在的必要了。之後它們內部所有用avalon.scanCallback實現。java
從1.3.3起,我就着手開發靜態收集依賴機制,以此爲契機,發現許多要改良的地方,所有放到一個叫avalon.$events.js的版本上。但通過幾個月的研究,發現靜態收集依賴,是對壓縮不友好的,像angular那樣須要引入許多奇異的方式來規避這問題。所以我最終放棄這東西,之後改用其餘方式提升性能。將來將着力升級三柱臣與avalon.observe.js。git
三柱臣,動畫mmAnimate,數據請求mmRequest,路由器mmRouter,如今就mmRequest最成熟,而mmRouter的需求則強烈,mmAnimate極需升級。它們三個都依賴了mmPromise,那是原生的Promise的一個包裝,性能超好。github
在chrome36 beta中,就已經存在element.animate這個方法,即引進了著名的web-animation。chrome39將進一步完善。新的mmAnimate也將基於它進行開發。web
迷你MVVM框架在github的倉庫https://github.com/RubyLouvre/avalonchrome
avalon的新UI庫地址OniUI, 多達42個UI,強大的換膚功能app
朋友們用avalon作的東西框架