http://t.cn/A6EXwvvV
AXUI的数据排序功能是以localeCompare方法为基础的,支持多维数组排序和多keys排序,支持链式属性写法;AXUI的数据检索支持模糊和精确检索,自动计算每一项的检索权重,可按权重对检索结果重新排序。[微笑]
AXUI的v3版部分功能已经可以通过官网预览,我们一起期待v3的完整版beta版尽快发布。详见官网http://t.cn/A6ajXZuX [太开心]
为了提高扩展能力,V3除了能使用默认的模板引擎,也支持多款知名的第三方模板引擎,包括Art-template、Mustache、Underscore和EJS。一般的模板引擎的渲染函数通常有两个参数,第一个为文本模板,第二个为数据;而Underscore稍有不同,他是链式写法:_.template(文本模板)(数据)。[太开心]
AXUI的css样式类名由两种构成,一种是以“._”开头的非自定义元素类名,这些命名的类前缀可以被用户批量替换;一种是以“AX-”开头的自定义元素类名。之所以以大写作为自定义元素的命名,是为了让其更显目,更只直观的提醒用户:这些类名不能被批量替换。当然对于浏览器而言,css是不区分大小写的。
AXUI的自定义元素分两种,一种是不绑定某模块的,例如ax-radio,所有交互需要通过自定义js来实现;一种是包含某模块的,例如ax-more包含了More模块,可通过操作More模块来实现ax-more元素的改变。[微笑]
AXUI支持将最简单的嵌套数据转为AXUI所用的标准数据。一类是一维数组,但是每一项均有id、pId和label属性,id和pId可以确保父子关系;二类是只有label和children属性的简单数据。这两类简单数据通过AXUI的tree相关工具,可转为完整的flatData或treeData。每一项包含的属性有但不限于:id、pId、label、
获得Tree数组数据的方式有几个,1是从现有的HTML节点解析得到;2是直接获得简单的tree格式数据并进一步处理;3是通过异步方式获取简单tree格式数据并进一步处理。其中HTML节点有两种格式,分别是ul+li/ol+li和select/datalist。AXUI中使用到tree数据的模块主要有Menu、Select和Tree。[嘻嘻]
AXUI的TS写法中,类型均以T_开头,定义好了部分通用类型,例如:T_fn,T_obj,T_el,T_null,T_opt。[鼓掌]
模块或插件获取内容的途径通常是从options.content参数获取,但是某些模块或插件支持从现有的HTML节点中获取内容,例如More、Menu和Tab,拿More举例来说,模块或插件会先检查options.content参数是否为空,如果为空将从绑定模块的节点读取innerHTML并将其解析为文本内容,存为this.content变量。
AXUI的position定位系统支持常规12种位置,另外包含max相关位置和center位置,一共支持18种位置,分别是top-start、top-center、top-end、bottom-start、bottom-center、bottom-end、left-start、left-center、left-end、right-start、right-center、right-end、top-max、bottom-max、left-max、right-
v3的Popup模块开发基本完成,支持更多的placement显示位置,支持更换宿主、支持更换位置、支持显示更多的操作按钮(自定义)。抢先体验可点击这里http://t.cn/A6YQYrSH
AXUI的插件/模块合并参数的步骤有几个:1是读取map中的原始参数,2是合并用户自定义的参数,3是合并应用该插件/模块的节点上(有ax-*属性)的参数,4是合并缓存中的参数(开启了storage),5是根据breakpoints设置重新调整参数,6是展开简化书写的指定参数为标准写法(arrow:true=>arrow:{enable:true}
AXUI的class类参数结构大概有三种,1、有两个参数,第一个参数为数据,第二个参数为options,例如ax.Observe({...},{...});2、有两个参数,第一个参数为节点选择器,第二个参数为options,例如ax.Popup('#id',{...});3、有三个参数,第一和第二个参数为直接关联的节点或数据,第三个参数为options,
大部分实例均支持breakpoints参数,该参数可帮助用户针对不同终端环境设置不同的参数。比如More实例的字数,希望在大屏下显示多一些,在手机端显示少一些,就特别需要breakpoints参数来设置在不同屏幕尺寸下字符数量。[哈哈]
大部分实例都有ready/onReady,init/onInit和destroy/onDestroy,reset/onReset监听。其中ready的意思是完成了构造函数,但是在init初始化之前监听。init是指初始化后监听。[嘻嘻]
源码中的class类所使用的updateCache方法为公共继承而来的方法,该方法有一个参数即value,value={}。执行该方法后将自动保存该值并合并options。[太开心]
所有实例的update方法均为更新options参数,该方法支持两个参数:settings和callback,settings={}。所有实例的reset方法均为恢复原有的options并清空该实例的缓存。[挤眼]
某些实例有storageName参数,比如popup、dialog等,如果填写了将自动保存options(不包括on开头的监听参数)。默认是保存整个options对象,如果需要保存指定的参数,可启用storageKeys,比如只想保存content和size参数,则storageKeys=['content','size']。页面中的多个storageName不应该重名。[嘻嘻]
每一个实例参数中都有insName参数,如果填写了该参数则可进行全局保存,通过ax.instance函数可找到实例并进行后续操作。当然页面中有多个实例,他们的insName不应该重名。[鼓掌]