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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

集体智慧编程

集体智慧编程

TOBY SEGARAN / 莫映、王开福 / 电子工业出版社 / 2009-1 / 59.80元

本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信息,并得出有用的结论,通过复杂的算法来从Web网站获取、收集并分析用户的数据和反馈信息,以便创造新的用户价值和商业价值。全书内容翔实,包括协作过滤技术(实现关联产品推荐功能)、集群数据分析(在大规模数据集中发掘相似的数据子集)、搜索引擎核心技术(爬虫、索引、查询引擎、Page......一起来看看 《集体智慧编程》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

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

在线 XML 格式化压缩工具