Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

事件的类型 #1

Closed
otakustay opened this issue Jul 26, 2014 · 5 comments
Closed

事件的类型 #1

otakustay opened this issue Jul 26, 2014 · 5 comments
Labels
Milestone

Comments

@otakustay
Copy link
Member

作为一个模型,针对一个属性肯定有addsetremove这三种操作,那么:

  1. 3种操作分开3个事件,还是统一change事件(事件里肯定会说明真正的操作类型)
  2. 如果分开3个事件,是不是再跟上一个change事件,即remove操作先后触发removechange事件
  3. 是不是要有add:xxxchange:yyy这样针对属性的事件
  4. 批量设置(fill方法),触发一个change事件还是多个change事件

现在的ER是这样的:

  1. 统一change事件
  2. 没有
  3. 没有
  4. 一个change事件

我个人的建议:

  1. 统一change事件,实际场景下谁在乎你是加是减,甚至oldValue都很少有人在乎
  2. 没有
  3. 需要加上
  4. 多个,实际场景函数都是对应某 一个 属性的,用得多的是change:xxx,所以合并成一个意义不大

ER的时候为性能考虑搞过比如fill只触发一次change等,在我们不再支持IE6,准备逐渐丢掉IE7的现在,我觉得没必要

@errorrik @leeight @Justineo @wangyang0123 @firede 有什么建议吗?能帮忙收集下现在项目中对change事件的使用更好

@leowang721
Copy link
Member

一个change会导致在监听后使用each去遍历…… 支持多个

@rachardking
Copy link

backbone应该是有细化事件和响应所有的change事件

@otakustay
Copy link
Member Author

对,这边也是这个意思,是不是2者都提供了

@otakustay
Copy link
Member Author

我现在的实现是单一change事件,一个属性一次change,外加一次change:xxx事件,fill会触发多次。有意见的尽快哈,我等到周三中午~

@otakustay otakustay added this to the 1.0.0 milestone Aug 25, 2014
@otakustay
Copy link
Member Author

基本决定如本讨论一样设计,如果需要批量事件,后续可以加上batchchaneg等事件

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants