pandyle 1.2.0 发布,简单的前端 mvvm 库

栏目: jQuery · 发布时间: 4年前

内容简介:pandyle 是一个基于 jquery 的 MVVM 库。它为 jquery 提供了基本的模板和组件功能。pandyle 秉承 jquery --

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Google

Google

托马斯·舒尔茨(Thomas·Schulz) / 严孟然、陈琴 / 当代中国出版社 / 2016-11-1 / CNY 49.80

想要掌握未来,必须了解谷歌 1998年从车库起家,短短数年研发上千项专利,2016年力压苹果、亚马逊,成为“世界最具价值品牌”“最佳雇主”,谷歌无疑是互联网时代的最大赢家,这家公司有能力通过巨额广告利润收获现在,更有意愿在人工智能层面创造未来。 据说谷歌势不可挡,永不餍足。从互联网搜索到智能翻译再到地图导航,谷歌是我们通向世界的门户。不仅如此,就像管理全世界的数据流一样,谷歌还要在不久......一起来看看 《Google》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器