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