pandyle 是一個基於 jquery 的 MVVM 庫。它為 jquery 提供了基本的模板和組件功能。pandyle 秉承 jquery -- write less, do more 的設計理念,主要關注點即在於簡單,易學易用,努力減少你書寫的代碼量,並且更貼合傳統的jquery的書寫方式。
簡單:非常簡單易上手,無需學習 webpack、es6 等前端知識,基本看一遍文檔即可進行開發
兼容性良好:pandyle 的兼容性取決於 jquery 版本,因此使用 1.X 版本的 jquery 即可兼容至 ie8 瀏覽器
輸入與視圖模型分離:pandyle 使用 inputs 類來獨立的處理用戶輸入,根據表單元素的 name 屬性自動生成數據模型,無需事先定義
同步操作:pandyle 的所有操作都是同步的,代碼邏輯清晰的同時保證了同其他 jQuery 插件的良好兼容
資源化的組件:pandyle 將組件視為一種資源,這意味著你可以像載入圖片一樣任意載入你想要的任意組件,只需在 p-com 指令中寫上組件的路徑即可,無需事先編譯或引入特定的組件代碼。此外,在 pandyle中,你可以很輕鬆的使用 p-bind 來動態的綁定組件,使頁面能夠完全根據數據來動態生成,如以下示例:
<div class="main"> <div p-for="components" p-as="item"> <div p-bind="p-com:{{@item.type}}" p-context="@item.data"> </div> </div> <script> Pandyle.config({ comPath: { Default: './otherComponents/{name}.html', Menu: './otherComponents/menu/{name}.html', MyCom: './components/{name}.html' } }) var book1 = { title: 'book1', author: 'rrr', price: 20, num: 10, tags: ['tag1', 'tag2', 'tag3'] }; var list = [ { value: 1, name: '選項1' }, { value: 2, name: '選項2' } ] var vm = $('.main').vm({ components: [ { type: 'test' }, { type: 'MyCom.book', data: book1 }, { type: 'list', data: { title: '列表1', name: 'checkList', list: list } } ] }) </script>
代碼大量重構
修復表達式運算中對 null 等特殊字元的處理
修復對 ! 運算符的處理
修復 vm.get 獲取對象時報錯的 bug ;在組件的 onLoad 方法中添加對當前組件根元素的引用
當 checkbox 單獨使用時,inputs 中對應的欄位類型修改為布爾值
添加組件私有數據
修復 p-context 指令子孫節點的 context 不變的 bug
[admin
]