Backbone学习笔记
model
model的get和set是对model.attributes进行操作,并不是直接对model进行操作
collection
collection.set()会触发相应的add,remove,change事件
collection.reset()只会触发reset事件
view
其他
model.toJSON() 或 collection.toJSON() 返回的是该对象的深复制对象
通过直接赋值的方式修改model或collection的值并不会触发事件
通过 _.extend(a, Backbone.Events) 可以让a继承Backbone.Events以对对象a进行事件监听
默认的Backbone.sync调用了$.ajax(options),并设置了服务器返回数据格式为JSON,也就是说只有JSON.parse()解析服务器返回数据不抛出错误,options.success回调才会被调用
注意以下不同:
JSON.parse('aa') ;//出错
JSON.parse(' "aa" ') ;//结果为"aa"