BackboneJs入门学习[07]—Collection实践

简介: BackboneJs入门学习[07]—Collection实践

BackboneJs入门学习—Collection实践

前提回顾:

在上一节当中,我们介绍了Backbone的Collection模块,Collection即集合,但是它是模块的集合,有了Collection,你就能对多个模块进行操作。它就像一个数组一样。

本篇中,ImagineCode(IC)将进一步讲解关于Collection的相关操作。

1.使用fetch()方法从服务器端获取数据

使用前提:要从server获取数据,首先要定义url属性;当然,我们也可以在fetch中定义url的值;

注意:在Collection中,无urlRoot这个属性;

示例:

var bookShelf=new Backbone.Collection;
bookShelf.url='/books/';
bookShelf.fetch({
//获取成功时,返回success信息
  success:function(collection,response,options){
               collection.each(function(book){
          alert(book.get('title));
      });
     },
//获取失败时,返回error信息     
error:function(collection,response,options){
       alert('error!');
  }
});

2.reset方法

(1).reset()方法会清空 整个collection

(2).要与fetch配合使用,因为collection在fetch到数据后,会调用reset方法;

(3).在collection中绑定reset方法要在fetch之前,即使用fetch获取,使用reset渲染;

示例:

var bookshelf=new Backbone.Collection;
bookshelf.bind('reset',showAllBooks);//在fetch之前绑定reset方法
bookshelf.fetch({
    url:'/getbooks/',
             success:function(collection,response){
    collection.each(function(book)){
      alert(book.get(title));
    }); 
  },error:function(collection,response){
    alert('error!');
    }
});
//reset方法
showAllBooks:function(){
  bookshelf.each(function book){
    document.writeIn(book.get(title));
    });
}

3.创建数据到服务端——Create()

在Backbone给出的官方文档中,对集合的Create方法是这个一段介绍:

使用属性哈希(键值对象)实例化一个模型, 然后将该模型保存到服务器, 创建成功后将模型添加到集合中。 为了能正常运行,需要在集合中设置 model 属性。

示例:

var newBooks=Backbone.Collection.extend({
  model:Book,//需要在集合众设置model属性
  url:'/books/'
});
var books=new newBooks;
var oneBook=book.create({
    title:"I am a new book!"
    author:"IC"
});

至此,我们介绍了Collection中常用的几个方法,当然,Collection不仅仅只有这么几种方法,Collection包含了十几种方法。除此之外,Backbone还代理了 Underscore.js用来给Backbone.Collection提供 6 个对象函数。

Ok,在下一篇中,我们将进入Backbone的新模块的学习——Router(路由)。

每篇一语:

昨晚,在看一部2000年贾樟柯导演的《站台》,这不反应改革开放后的青年人群体的反应的影片,在现代电影浪潮的席卷中,并未得到现代年轻人的注目。可是,我想,这部刻画小人物的电影,表现了当时青年人为梦想、生活追逐奔波的想法,虽然最后物是人非,但是却留下了一段历史。对于现在而言,你我也是一样,为了梦想或是生活,你我也将留下一段历史,在你我记忆中。


相关文章
|
数据安全/隐私保护 C++ iOS开发
软件开发入门教程网 Search之C++ 继承
软件开发入门教程网 Search之C++ 继承
|
Java API 开发工具
从零开始学习 Java:简单易懂的入门指南之Runtime、Object(十三)
从零开始学习 Java:简单易懂的入门指南之Runtime、Object(十三)
|
存储 JavaScript 前端开发
掌握这34个知识点,助你快速入门TS
TypeScript现在几乎已经是所有前端程序员必备的技能了,现在的各大框架已经全部采用TS进行开发。本篇文章总结了TS中常用的知识点,希望能对你有所帮助。
674 0
|
4月前
|
JavaScript 前端开发 测试技术
Angular与NestJS的神奇之处:如何用全栈技术让你的项目一鸣惊人?
【8月更文挑战第31天】在现代软件开发中,全栈开发已成为主流。借助Google支持的开源前端框架Angular及基于TypeScript的Node.js框架NestJS,我们可以构建出高性能的全栈应用。本文将探讨Angular与NestJS的结合方式,并通过示例代码展示如何创建全栈Angular应用。了解应用需求、编写测试和关注性能是实现这一目标的关键步骤。随着Angular和NestJS生态的不断发展,它们必将在未来的Web开发中发挥更大的作用。
114 0
|
7月前
|
Java Python
【JAVA学习之路 | 进阶篇】Collection中常用方法
【JAVA学习之路 | 进阶篇】Collection中常用方法
|
存储 Java API
从零开始学习 Java:简单易懂的入门指南之Objects、BigInteger、BigDecimal(十四)
从零开始学习 Java:简单易懂的入门指南之Objects、BigInteger、BigDecimal(十四)
|
7月前
|
存储 Java 索引
从零开始学习 Java:简单易懂的入门指南之Collection集合及list集合(二十一)
从零开始学习 Java:简单易懂的入门指南之Collection集合及list集合(二十一)
|
7月前
|
存储 安全 Java
从零开始学习 Java:简单易懂的入门指南之泛型及set集合(二十二)
从零开始学习 Java:简单易懂的入门指南之泛型及set集合(二十二)
|
安全 Java API
【Java技术指南】「技术盲点」也许你不了解的Map.merge的用法指南
【Java技术指南】「技术盲点」也许你不了解的Map.merge的用法指南
197 0
|
定位技术 容器
BackboneJs入门学习[06]—Collection初探
BackboneJs入门学习[06]—Collection初探
105 0
BackboneJs入门学习[06]—Collection初探