歡迎您光臨本站 註冊首頁

pandyle 1.2.0 發布,簡單的前端 mvvm 庫

←手機掃碼閱讀     admin @ 2019-06-21 , reply:0

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>

適用場景

  • 老項目重構:這可能是 pandyle 最能發揮作用的場景。很多老項目中使用了大量的 jquery 代碼及 jquery 插件,使用其他框架進行重構的話可能會引起大量的修改,使用 pandyle 能以最小的代價對老項目完成 mvvm 的改造
  • 兼容性要求較高的項目:一些特定領域的項目可能仍然要求兼容 ie8 甚至 ie8 以下的瀏覽器,不適合使用三大框架,這種情況下可以嘗試使用 pandyle 作為替代
  • 後端人員開發:pandyle 對後端開發者是友好的,無需掌握現代前端的一系列工具和語法,後端開發者可以輕鬆上手
  • 小項目:對小項目來說,pandyle 的開發效率可能更高,有興趣的可以嘗試一下

文檔

在wiki中查看文檔

更新內容:

  • 代碼大量重構

  • 修復表達式運算中對 null 等特殊字元的處理

  • 修復對 ! 運算符的處理

  • 修復 vm.get 獲取對象時報錯的 bug ;在組件的 onLoad 方法中添加對當前組件根元素的引用

  • 當 checkbox 單獨使用時,inputs 中對應的欄位類型修改為布爾值

  • 添加組件私有數據

  • 修復 p-context 指令子孫節點的 context 不變的 bug


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/107627/pandyle-1-2-0-released
pandyle 1.2.0 發布,簡單的前端 mvvm 庫已經有280次圍觀

http://coctec.com/news/all/show-post-207772.html