【发布时间】:2013-01-26 01:00:11
【问题描述】:
我一直在尝试破译backbone.relational 源代码。我发现它会触发很多自己的事件。我对我的一些模型进行了日志记录,发现其中很多事件似乎无缘无故地触发了。
最大的问题是我应该听哪些事件以及哪些是内部事件
Backbone.Relational 似乎触发的事件是:
- 更新:[属性] 似乎触发 [第 725、941 行]
- relational:add 当在集合上调用 .add() 时,这似乎会触发
- relational:remove 当在集合上调用 .remove() 时,这似乎会触发 [1651, 1003]
- relational:reset 这个似乎没有韵律或理由(为什么在排序时被解雇!!!)[1664, 1675]
- relational:change:[attribute]:不知道这是做什么的 [1138]
有人可以解释每个的目的是什么以及是否可以从源中删除某些触发器
为了比较,Backbone 的原生事件:
- “add”(模型、集合、选项)— 将模型添加到集合时。
- “remove”(模型、集合、选项)— 当模型从集合中移除时。
- "reset" (collection, options) — 当集合的全部内容被替换时。
- "sort" (collection, options) — 当集合被重新排序时。
- "change" (model, options) — 当模型的属性发生变化时。
- "change:[attribute]" (model, value, options) — 当特定属性被更新时。
- “destroy”(模型、集合、选项)— 当模型被销毁时。
- "request" (model, xhr, options) — 当模型(或集合)开始向服务器发出请求时。
- "sync" (model, resp, options) — 当模型(或集合)与服务器成功同步时。
- "error" (model, xhr, options) — 当模型的保存调用在服务器上失败时。
- “invalid”(模型、错误、选项)— 当模型在客户端上的验证失败时。
- "route:[name]" (params) — 匹配特定路由时由路由器触发。
- "route" (router, route, params) — 当任何路由匹配时由历史记录(或路由器)触发。
- "all" — 此特殊事件会针对任何触发的事件触发,将事件名称作为第一个参数传递。
【问题讨论】:
标签: backbone.js backbone-relational