迷你MVVM框架 avalonjs 1.2 發布

jopen 10年前發布 | 7K 次閱讀 avalonjs

avalon1.2 帶來了許多新特性,讓開發更輕松!詳見如下:

  • 升級路由系統與分頁組件。

  • 對ms-duplex的綁定值進行增強,以前只能prop或prop.prop2,現在可以prop["xxx"]、prop[prop2]。換言之,添加對數組法對子屬性的支持。詳見這里

  • ms-duplex支持用JS修改 input.value觸發oninput事件(實現舊式IE下onpropertychange的功能),實現大量第三方組件都會操作 input.value,有了這功能,我們就不需要寫額外回調實現對VM對應屬性的同步,從而加強與第三方組件的整合能力。詳見這里這里

  • 讓ms-repeat, ms-with在目標都是對象的情況下支持data-with-sorted回調。詳見這里

  • 添加data-widget-defined回調,this指向綁定元素,參數為新生成的VM對象。詳見這里

  • avalon在移除ms- controller, ms-important綁定的同時,現在會移除與其同名的類名,這是為了兼容IE6。(關于網速慢,{{}}插值表達式暴露出來的問題, 我們可以定義這樣一個樣式規則進行處理[ms-controller],[ms-important]{display:none} 為有點類于angularjs的ng-cloak指令,在掃描之前起著羞丑布的作用。對于IE6不支持屬性選擇器的問題,只能手動處理,或使用ms- text來代替{{}},這視你的用戶群體決定了——avalon最佳實踐

  • 重構parseExpr內部方法。

  • 重構AMD加載器獲取相對于父路徑的邏輯。這里

  • 重構parseData內部方法。詳見這里

  • avalon.require.text模塊嘗試使用HTML Imports技術加載子頁面與模板文件。詳見這里

  • fix ms-if 當第一次沒有定義某屬性進行隱藏后,然后再替換整個對象,讓它擁有此屬性時,注釋節點重復生成引發的BUG。 詳見這里

  • fix nextTick在IE6下崩潰的BUG。詳見這里

  • fix DOMReady在移動端如果網速過慢,不會觸發的BUG。詳見這里

  • 移除為input添加name的特性。因為瀏覽器會提交擁有name屬性并且沒有定義disabled屬性的表單元素。私自為它添加name,會打破用戶原來的意圖。詳見這里

迷你MVVM框架在github的倉庫https://github.com/RubyLouvre/avalon

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

有關avalon的最佳實踐或注意點請看這里, 這個我每次發布新版本都可能在這里加東西。

迷你MVVM框架 avalonjs 1.2 發布

使用avalon做的東西:

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!