全部使用Javascript写一个界面,是一件很困难的事。
1)要求有较高的Javascript编程能力。
2)会造成“代码树”问题。一级又一级子"children",需要"{"和"}"对应,嵌套层次过多,会是一场灾难。
3)难以排错。JS是解释性语言,漏掉个","、"}"号,运行的时候才发现,而且很难直接定位到行。
4)维护困难。一个开发者写的复杂JS代码,另一个开发者很难接手。
5)布局困难。需要复杂的布局控件,并且难以做到原生HTML+CSS方式的布局效果。

MiniUI给开发者推荐的开发方式,是使用HTML标签来配置出界面,而不是用JS来生成。
比如创建一个DataGrid:

  1. <div id="datagrid1" class="mini-datagrid" style="width:700px;height:280px;"
  2. url="../data/dataservice.aspx?method=SearchEmployees"  valueField="id"
  3. >
  4. <div property="columns">
  5. <div type="indexcolumn" ></div>
  6. <div field="loginname" width="120" headerAlign="center" allowSort="true">员工帐号</div>
  7. <div field="name" width="120" headerAlign="center" allowSort="true">姓名</div>
  8. </div>
  9. </div>

复制代码

如果是Javascript的方式,可以这样写:

  1. var grid = new mini.DataGrid();
  2. grid.set({
  3. url: "../data/dataservice.aspx?method=SearchEmployees",
  4. style: "width:700px;height:280px;",
  5. valueField: "id",
  6. columns: [
  7. { type: "indexcolumn" },
  8. { field: "loginname", width: 120, headerAlign: "center", allowSort: true },
  9. { field: "name", width: 120, headerAlign: "center", allowSort: true }
  10. ]
  11. });
  12. grid.render(document.body);

复制代码

以上创建一个单独的表格控件,还看不出两种开发方式的差别。
下面我们来创建一个稍微复杂一点的表单:

  1. <table class="form-table" border="0" cellpadding="1" cellspacing="2">
  2. <tr>
  3. <td class="form-label" style="width:60px;">姓名:</td>
  4. <td style="width:150px">
  5. <input name="name" class="mini-textbox" />
  6. </td>
  7. <td class="form-label" style="width:60px;">地址:</td>
  8. <td style="width:150px">
  9. <input name="addr" class="mini-textbox" />
  10. </td>
  11. </tr>
  12. <tr>
  13. <td class="form-label">性别:</td>
  14. <td >
  15. <input name="gender" class="mini-radiobuttonlist" data="[{id: 1, text: '男'}, {id: 2, text: '女'}]"/>
  16. </td>
  17. <td class="form-label">年龄:</td>
  18. <td >
  19. <input name="age" class="mini-spinner" />
  20. </td>
  21. </tr>
  22. <tr>
  23. <td class="form-label">备注:</td>
  24. <td colspan="3" >
  25. <input name="remarks" class="mini-textarea" style="width:343px;height:60px;"/>
  26. </td>
  27. </tr>
  28. </table>

复制代码

呈现效果如下:

如果完全用Javascript开发这个表单,代码量显然会增加很多,而且不易修改和扩展。
使用HTML标签的组件生成方式,开发者可以使用HTML+CSS的开发经验,轻松实现,灵活布局。

jQuery MiniUI开发系列之:HTML标签配置的更多相关文章

  1. jQuery MiniUI开发系列之:创建组件对象

    jQuery MiniUI可以使用Javascript和Html两种方式来创建对象. 1)Javascript创建对象 使用JavaScript创建对象,是最基本的方式,有如下几个要点: 1)使用ne ...

  2. jQuery MiniUI开发系列之:安装部署

    jQuery MiniUI是一套纯Javascript的WebUI控件库,它由几十个Javascript控件组成,是不依赖服务端和数据库的. 下载jQuery MiniUI,解压缩后,开发者可以直接在 ...

  3. jQuery MiniUI开发系列之:UI和数据分离

    使用MiniUI需要注意:UI和数据是分离的. 传统的WEB开发,开发者经常将数据库操作.服务端业务.HTML标签写在一个页面内. 这样会造成开发的混乱,并且难以维护和升级. 使用MiniUI开发的时 ...

  4. jQuery MiniUI开发系列之:数据验证

    在开发应用系统界面时,往往需要进行很多.复杂的数据验证,当填写的数据符合规定,才能提交保存. jQuery MiniUI提供了比较完美的表单数据验证和错误显示的方式. 常见的表单控件,都有一个验证事件 ...

  5. jQuery MiniUI开发系列之:使用API文档

    jQuery MiniUI在组件设计上,是简约.独立的,没有复杂的继承体系. 比如使用DataGrid,可以在api文档的datagrid部分,查找到datagrid的所有属性.方法.事件,而无需关注 ...

  6. jQuery MiniUI开发系列之:Ajax处理超时、服务端错误

    MiniUI所有组件的ajax交互,均使用标准.成熟的jQuery.ajax. 依赖于jquery ajax组件的完善性,我们可以拦截住每一次ajax请求处理. 比如,拦截ajax返回数据前,判断返回 ...

  7. jQuery MiniUI 开发指南+API组件参考手册

    jQuery MiniUI 开发指南 本文档将逐步的讲解jQuery MiniUI的方方面面,从此您将踏上jQuery MiniUI的深入探索之旅.                 1.Hello M ...

  8. thinkphp+Jquery MiniUI 开发 管理系统

    Jquery Miniui JS 兼容IE6+的浏览器,非常适合在企业内部使用. 管理系统等都非常方便. 在企业内部正在使用的是前期asp.net +fineui实现的管理系统.经过了几年的实践检验. ...

  9. ABP开发框架前后端开发系列---(12)配置模块的管理

    一般来说,一个系统或多或少都会涉及到一些系统参数或者用户信息的配置,而ABP框架也提供了一套配置信息的管理模块,ABP框架的配置信息,必须提前定义好配置的各项内容,然后才能在系统中初始化或者通过接口查 ...

随机推荐

  1. scrapy数据存入mongodb

    存入mongodb的pipelines文件是这样子写的 from openpyxl import Workbook from scrapy.conf import settings import py ...

  2. Android 源码下载

    一直想尝试android源码的编译,这两天正好海思代码的编译也需要ubuntu环境,于是安装了ubuntu 12.04,安装时选了语言为中文,因此下面很多状态及错误报告都是中文了,另外分配了4G sw ...

  3. hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol) 分类: hdoj 2015-06-16 19:37 32人阅读 评论(0) 收藏

    thanks to http://stackoverflow.com/questions/2144459/using-scanf-to-accept-user-input and http://sta ...

  4. windows系统常用快捷键及其作用

    使用windows快捷键,使得工作起来事半功倍,你都懂了么? win 7操作系统快捷键,其余的操作系统有部分不一致,但总体都差不多 win+D: 显示桌面/隐藏桌面 (再次按win+D,下同) (wi ...

  5. Unity3D 发布无边框exe

    关于:Unity3D 发布无边框exe,Unity3D Build exe无边框 Unity发布windows版本 总是带着边框,很想给它去掉,笔者在网上查了一番,常见的有3中. 1:通过unity3 ...

  6. c++ 语言细节

    #include <iostream>using namespace std;int main(){     cout << "\nHello World!\n&qu ...

  7. RelativeLayout.LayoutParams.addRule()方法

    1.应用场景 在使用RelativeLayout布局的时候,通常在载入布局之前在相关的XML文件中进行静态设置即可.但是,在有些情况下,我们需要动态的设置布局 的属性,在不同条件下设置不同的布局排列方 ...

  8. JAVA 对象引用,以及对象赋值

    注:引自http://zwmf.iteye.com/blog/1738574 关键字: java对象 引用 Java对象及其引用 关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里, ...

  9. EDIUS设置Alpha转场的教程

    有刚开始学习EDIUS视频编辑软件的同学吗?你们是否需要一本很好的EDIUS教程呢?你们可以到EDIUS中文网站里面找哦,小编会一直更新EDIUS教程的,能给你们带来帮助我是非常高兴的.今天我们来一起 ...

  10. 【C】 03 - 数据类型

    程序说到底就是对数据的处理,所以首先要弄清楚需要处理哪些数据,计算机如何存储这些数据.C语言根据需要,抽象出了一些基本数据类型和衍生数据类型.这些可以满足大部分需求,更复杂的抽象数据类型亦可通过它们来 ...