Skip to content

Braking changes from 3 to 4

Gray Zhang edited this page Sep 2, 2014 · 5 revisions

组件

Promise

  • 将从ER中去除Deferred模块,由promise库提供支持
  • Promise的使用API变为ES标准API,使用new Promise(function (resolve, reject) { ... });的形式
  • resolvereject不再接受多个参数,现只允许一个参数

Locator

  • redirect不再接受#起始的URL,URL参数必须是一个合法的路径
  • 不再处理config.indexURL,为避免出现历史后退死循环,该逻辑交由Controller处理

Enum

  • addElement和构造函数时,不允许加入没有textalias的项
  • addElement时,允许加入的项没有value,会选择当前最大的value再加1
  • get*方法如果找不到指定的项会返回null而不是抛出异常

Model

  • 不再有datasource配置,该配置转到Datasource类中,Model通过关联一个Datasource实例来处理数据加载
  • Model底层由emc库提供,造成的变化有:
    • change事件每次属性变化均会触发,移除了批量更新的change事件
    • setfill方法不再有返回值
    • setgetremovegetAsModelhas*等方法会检查参数,当未提供name时会抛出异常
  • Model#.load()过程中,向Model添加属性不再使用{ silent: true },因而会触发change事件

Action

  • 移除了Action#.handleError方法,此方法从最初开始实现就是错误的
Clone this wiki locally