KISSY 1.3 升级指南

简单来说,新版本包括以下改进:

提升了组件性能,支持 xclass 懒加载组件

嵌套组件可以不用 new 出来,指定 json 格式即可:

http://docs.kissyui.com/docs/html/demo/component/menubutton/xclass.html

扩充了框架能力,核心以及多个组件 api 有所增加

支持 Promise 规范:

http://docs.kissyui.com/docs/html/api/component/promise/index.html

switchable 增加了 add/remove,支持触屏:

http://docs.kissyui.com/docs/html/demo/component/switchable/index.html

提高了 api 易用性和统一性

所有新组件都支持动态的 plugin 机制

http://docs.kissyui.com/docs/html/demo/component/editor/simple-plugin.html

以及通过 listeners 支持方便的事件绑定

http://docs.kissyui.com/docs/html/demo/component/menubutton/xclass.html

一些需要注意的不兼容性问题

  1. 删除了 kissy-aio.js/uibase.js 静态文件,请静态引入以上文件时注意
  2. 删除了 KISSY.app 方法,删除 csspath/cssfullpath/path/fullpath,请使用推荐的模块化机制
  3. KISSY.add(name,fn); fn 不会立即执行,只有 name 被 use 或 require 时才会执行
  4. dd proxy 与 scroll 插件使用方式有变, 变更为统一的插件机制
  5. overlay resizable/draggable api 变动, 变更为统一的插件机制
  6. editor api 变动,更改为 kissy 统一的组件 api 以及模块化加载方式
  7. suggest/template/flash/validation 移到 gallery

详细 change log

标记含义

  • [+] this is a new feature
  • [*] this is an improvement
  • [!] this is a change

Bug fix

  1. 修复 70+ 个 bug 以及一系列优化:

结构

  1. [!] 删除 kissy-aio

  2. [+] 增加教程中心

suggest

  1. [!] moved to gallery: gallery/suggest/1.0/

validation

  1. [!] moved to gallery: gallery/validation/1.0/

template

  1. [!] moved to gallery: gallery/template/1.0/

flash

  1. [!] moved to gallery: gallery/flash/1.0/

seed

  1. [!] KISSY.mix 深度 mix 时白名单参数递归作用于子对象

  2. [!] S.use 通通是异步处理,即时之前静态引入 KISSY.add 的脚本。

  3. [+] S.config 增加 combine 配置,支持自动 combo

  4. [+] 支持 <script src=’seed|kissy.js’ data-config=”json”></script> data-config parse 为 json 传入 S.config

  5. [!] KISSY.add(fn) fn 中 this 为模块对象

  6. [!] 删除 KISSY.app 方法

  7. [!] KISSY.add(name,fn); fn 不会立即执行,只有 name 被 use 或 require 时才会执行

  8. [+] package 增加 debug 配置,可以对包级别设置 debug

  9. [!] 删除 csspath/cssfullpath 配置

  10. [+] 内置 gallery 包

  11. [+] 增加 KISSY.keys

  12. [+] 支持 KISSY.config({packages:{},modules:{}}); modules,packages 均可配置时间戳,具体使用详见 api/demo/tutorial 文档

http://docs.kissyui.com/docs/html/api/seed/index.html

http://docs.kissyui.com/docs/html/demo/seed/index.html

http://docs.kissyui.com/docs/html/tutorials/kissy/seed/index.html

ua

  1. [+] html 标签加入 ua 标志,例如 “ks-ie ks-ie6”
  2. [!] 去除国产浏览器探测,用 gallery/ua-extra/1.0/ 替代

event

  1. [+] Event 模块:on/detach 支持事件分组

http://docs.kissyui.com/docs/html/api/core/event/on.html

http://docs.kissyui.com/docs/html/api/core/event/detach.html

  1. [+] Event 模块:fireHandler api 增加

http://docs.kissyui.com/docs/html/api/core/event/fireHandler.html

  1. [*] publish 支持空格分隔的多个事件名字符串
  2. [!] focus/blur 不可用于 delegate,请使用 focusin/focusout

ajax

  1. [+] io 调用返回 Promise 类型,可以进行链式操作

http://docs.kissyui.com/docs/html/api/core/ajax/xhr.html#io.XhrObj

  1. [+] io 调用返回的 XhrObject 增加 getNativeXhr 方法,用于取得原生 xhr 对象,对其上的 upload 上传进度进行监听

http://docs.kissyui.com/docs/html/api/core/ajax/xhr.html#io.getNativeXhr

  1. [+] io 增加配置 beforeSend ,可用于发送前监听 nativeXhr 事件,例如 upload progress

http://docs.kissyui.com/docs/html/api/core/ajax/io.html#io.cfg.beforeSend

node

  1. 增加 dom/event/anim 添加的 api

base

  1. [*] validator 返回 false 则 set 整体无效 ( set({x:1,y:2}), x 出错,则 y 也无效)
  2. [+] set 第二个参数增加 error 属性

http://docs.kissyui.com/docs/html/api/core/base/attribute.html#base.Attribute.prototype.opts.error

component

  1. [*] 优化所有组件性能
  2. [!] 删除 uibase 模块,合并 uibase 到 component 模块
  3. [+] 所有组件 children 可配置带有 xclass 的组件描述 json 对象(懒加载提高初始化效率),例如:

http://docs.kissyui.com/docs/html/demo/component/menubutton/xclass.html

  1. [+] 所有组件 可配置 plugins,直接绑定事件

http://docs.kissyui.com/docs/html/api/component/component/uibase/UIBase.html#component.UIBase.config.plugins

  1. [+] 所有组件 可配置 listeners,直接绑定事件

http://docs.kissyui.com/docs/html/api/component/component/uibase/UIBase.html#component.UIBase.config.listeners

calendar

  1. [*] 新的 ui,增加 destroy 方法

overlay

  1. [+] popup 增加 toggle/mouseDelay 配置

http://docs.kissyui.com/docs/html/api/component/overlay/popup.html#overlay.Overlay.prototype.toggle

http://docs.kissyui.com/docs/html/api/component/overlay/popup.html#overlay.Overlay.prototype.mouseDelay

  1. [!] popup 构造器参数只能是配置对象
  2. [+] draggable/resizable api 变动,通过插件机制 use 对应插件实现.

http://docs.kissyui.com/docs/html/demo/component/overlay/demo8.html

datalazyload

  1. [+] 增加 autoDestroy 配置
  2. [+] 增加 removeElements/addElements/removeCallback 与 destroy 接口
  3. [*] 缓冲检测 scroll 和 resize, 并只加载显示在当前屏幕中的懒加载元素
  4. [*] 监控 div 容器滚动,以及横轴滚动

http://docs.kissyui.com/docs/html/api/component/datalazyload/

switchable

  1. [+] switchable 增加 lazyImgAttribute/lazyTextareaClass 解决嵌套 lazyload 问题
  2. [+] switchable 增加 pauseOnScroll,只在可视窗口时才滚动.
  3. [+] switchable 增加 add/remove/destroy
  4. [!] switchable _switchView 参数变化,覆盖注意(不推荐覆盖)

http://docs.kissyui.com/docs/html/api/component/switchable/

waterfall

  1. waterfall 增加方法 adjustItem/removeItem/start 以及配置 adjustEffect。支持调整时的动画。
  2. waterfall item class 支持配置 ks-waterfall-item-fixed-right/left 固定列。

http://docs.kissyui.com/docs/html/api/component/waterfall/

tree

  1. [!] label 配置/属性名称改做 content

http://docs.kissyui.com/docs/html/api/component/tree/

uri

  1. 方便对 uri 进行结构化操作

http://docs.kissyui.com/docs/html/api/component/uri

xtemplate

  1. 新的富逻辑模板引擎

http://docs.kissyui.com/docs/html/api/component/xtemplate/

promise

  1. [+] 增加 promise 模块 ,支持 Promise 规范

详见: http://docs.kissyui.com/docs/html/api/component/promise/index.html

下一步 -> 1.4

https://github.com/kissyteam/kissy/issues?milestone=2&page=1&state=open

欢迎讨论或者提交新计划