backbone.js学习笔记3—API

一、Events
1、on
用途:给对象绑定一个回调函数
使用方法:
obj.on(eventsName,callback,context)
eventsName为事件名称,callback为事件触发所触发的回调函数,context为上下文
2、listenTo
用途:一个对象监听另一个对象上的特定事件,若触发则执行回调函数
使用方法:
obj1.listenTo(obj2,eventsName,callback)
当对象obj2触发其eventsName方法时,obj1执行callback函数
与backbone的on方法区别:
on监听对象某事件的触发,是listenTo的特例,改写为listenTo是:
obj2.on(eventsName,callback,obj1)
on事件用trigger触发:
obj.on(“eventsName”,function(){//do});
obj.trigger(“eventsName”,params);
3、trigger
用途:触发特定绑定事件的回调函数。
使用方法:
obj.trigger(“eventsName”,params);params为传入回调函数的参数
二、Model
1、get/escape
用途:获取模型中的数据(一般是最新数据)
使用方法:
obj.get(“id”);//直接返回数据
obj.escape(“id”);//先将数据中包含的HTML字符转换为实体形式(例如它会将双引号转换为”形式)再返回,用于避免XSS攻击。
2、对象的attributes属性
存储模型的原始数据。一般不使用。
3、set(会触发change事件)
用途:修改模型中的数据
使用方法:
obj.set(“id”,12);
obj.set({id:12,name:”john”});//同时设置多个属性
4、previous(在属性事件或者change事件中调用。其他时候被调用没有意义,已是最新数据)
用途:返回属性在修改之前的状态。
使用方法:
obj.previous(“属性名”);
5、previousAttributes(同previous,在属性事件或者change事件中调用。其他时候被调用没有意义,已是最新数据)
用途:返回一个包含模型上一个状态的所有数据
使用方法:
obj.previousAttributes();
6、unset(会触发change事件)
用途:删除模型中指定的属性和数据
使用方法:
obj.unset(‘id’);
7、clear(会触发change事件)
用途:删除模型中所有的属性和数据
使用方法:
obj.clear();
8、save
用途:在服务器创建或修改数据。把模型的数据保存到服务器
使用方法:obj.save();或obj.save({name:”john”});
9、fetch
用途:从服务器获取数据
使用方法:obj.fetch();
10、destory(触发destory事件)
用途:从服务器移除数据
使用方法:obj.destory();
三、Collection
1、add
用途:向集合中的指定位置插入模型,若没有指定位置,则默认加到集合尾部
使用方法:
objList.add();
2、push
用途:在集合尾部插入模型
使用方法:objList.push();
3、unshift
用途:在集合头部插入模型
使用方法:objList.unshift();
4、remove(触发remove事件)
用途:从集合中移除一个或多个指定的模型对象
使用方法:
objList.remove(model1);
5、pop(触发remove事件)
用途:移除集合尾部的一个模型对象
使用方法:objList.pop();
6、shift(触发remove事件)
用途:移除集合头部的一个模型对象
使用方法:objList.shift();
7、get
用途:根据模型的唯一标识(id)查找模型对象。返回值为匹配对象或者undefined
使用方法:obj.get(20);
8、getByCid
用途:根据模型的cid查找模型对象。返回值为匹配对象或者undefined
使用方法:obj.getByCid(“c2″);
9、at
用途:根据给定的索引,查找集合中指定位置的模型对象。返回值为匹配对象或者undefined
使用方法:obj.at(1);
10、where
用途:根据数据对集合的模型进行筛选
使用方法:obj.where({name:”john”});
根据给定的数据,对集合进行筛选,查找出符合条件的模型。返回值是数组,所以可能有一个或者多个结果,也可能为空数组
11、comparator
用途:对集合中的模型进行排序,排序规则可在函数中定义。
使用方法:
comparator:function(m1,m2) {}
comparator方法接收两个参数,表示临近的两个模型对象,你需要通过返回值表示它们的排序规则,这和JavaScript中原生的sort()方法是一样的。
注意:当我们设置了comparator方法后,所有关于元素位置的方法和参数都会失效,例如:push()、unshift()、at()等。
12、fetch(触发reset事件)
用途:从服务器接口获取集合的初始化数据,覆盖或追加到集合列表中
使用方法:obj.fetch({success:function(){}});或者obj.fetch({add:true,success:function(){}});
前者是覆盖,后者是添加
13、create(触发add事件)
用途:在集合中创建一个新的模型,并将其同步到服务器
使用方法:
obj.create();
集合对象默认会先将模型添加到集合中,再提交到服务器接口,无论接口返回是否成功,新建的模型对象都会被添加到集合中。我们可以通过传递wait配置,来控制只有在服务器返回成功之后(响应状态码为200),才将模型对象添加到集合中。

此条目发表在pri, 成长, 面试分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注