backbone之collection

最近要用到backbone.js,网上也找了些资料,但是就看到一个开头还可以,往下看基本就看不下去了,幸好有这本书[LeanpubRead] Backbone.Marionette.js A Gentle Introduction,虽然英文版的,但是比较易懂,看起来倒不是很费劲,关键是知识点讲的很体系。

先贴几个案例的代码:collection(集合),下面是所有代码都写在html中的,为了和后面的module进行比较

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <title> Marionette Contact Manager</title>
 5         <meta charset="UTF-8">
 6         <meta name="viewport" content="width=device-width, initial-scale=1.0">
 7         <link href="../css/bootstrap.css" rel="stylesheet" >
 8
 9         <style  type="text/css">
10             body{
11                 margin-top: 60px;
12             }
13         </style>
14         <script src="../js/libs/jquery/jquery-1.11.1.min.js"  type="text/javascript"></script>
15         <script src="../js/libs/underscore.js/underscore.js"  type="text/javascript"></script>
16         <script src="../js/libs/backbone.js/backbone.js"  type="text/javascript"></script>
17         <script src="../js/libs/backbone.marionette/backbone.marionette.js"  type="text/javascript"></script>
18         <script src="../js/libs/json2/json2.js"  type="text/javascript"></script>
19     </head>
20     <body>
21         <div id="main-region" class="container" >
22             <p> Here is static content in the web page. You‘ll notice that it gets
23                 replaced by our app as soon as we start it. </p>
24         </div>
25         <script type="text/template" id="contact-list-item" >
26              <%= firstName %>  <%= lastName %>
27         </script>
28         <script type="text/javascript" >
30 var ContactManager = new Marionette.Application();
31 ContactManager.addRegions({
32     mainRegion: "#main-region"
33 });
35 ContactManager.Contact = Backbone.Model.extend({});
36 ContactManager.ContactItemView = Marionette.ItemView.extend({
37     tagName: "li",
38     template: "#contact-list-item"
39 });
40 ContactManager.ContactsView = Marionette.CollectionView.extend({
41     tagName: "ul",
42     itemView: ContactManager.ContactItemView
43 });
44 ContactManager.ContactCollection = Backbone.Collection.extend({
45     model: ContactManager.Contact,
46     //sort
47     comparator: "firstName"
48 });
49
50 ContactManager.on("initialize:after", function () {
51     var contacts = new ContactManager.ContactCollection([
52         {
53             firstName: "Bob",
54             lastName: "Brigham",
55             phoneNumber: "555-0163"
56         },
57         {
58             firstName: "Alice",
59             lastName: "Arten",
60             phoneNumber: "555-0184"
61         },
62         {
63             firstName: "Charlie",
64             lastName: "Campbell",
65             phoneNumber: "555-0129"
66         }
67     ]);
68
69     var contactsListView = new ContactManager.ContactsView({
70         collection: contacts
71     });
72     ContactManager.mainRegion.show(contactsListView);
73 });
74
75 ContactManager.start();
76         </script>
77         <script type="text/javascript">
78
79         </script>
80     </body>
81 </html>
时间: 2024-10-11 11:27:26

backbone之collection的相关文章

-_-#【Backbone】Collection

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="../../app-min.css"> </head> <body> <script src="../../jquery/jque

backbone.Collection源码笔记

Backbone.Collection backbone的Collection(集合),用来存储多个model,并且可以多这些model进行数组一样的操作,比如添加,修改,删除,排序,插入,根据索引取值,等等,数组有的方法,他基本上都有 源码注释 <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content=

Backbone.js入门学习笔记目录

//来自 https://www.the5fire.com/backbone-tutorials-catalogue.html 1.初识backbone.js 2.通过helloworld来认识下backbone 3.backbone中的model实例 4.backbone的collection实例 5.backbone中的Router实例 6.backbone中的view实例 7.backbone实例todos分析(一) 8.backbone实例todos分析(二)view的应用 9.back

使用Backbone.js, ExpressJS, node.js, MongoDB的web应用样板工程

这是web应用的一个完整的样板工程,用到了Backbone.js & Marionette, node.js & ExpressJS,MongoDB & Moogoose, Handlebars, Grunt.js, Bower和Browserify! 我建立了一个超级基础的单页面应用程序(SPA),就是一个简单的通讯录管理器, 但麻雀虽小,五脏俱全.我写这篇文章的目的是介绍一下这个应用所用到的整个技术栈:后端,数据,前端,工具和测试.主要包括下面这些技术: 后端: node.js

Backbone.js简单入门范例

11年刚开始用前端MVC框架时写过一篇文章,当时Knockout和Backbone都在用,但之后的项目全是在用Backbone,主要因为它简单.灵活,无论是富JS应用还是企业网站都用得上.相比React针对View和单向数据流的设计,Backbone更能体现MVC的思路,所以针对它写一篇入门范例,说明如下: 1. 结构上分4节,介绍Model/View/Collection,实现从远程获取数据显示到表格且修改删除:2. 名为“范例”,所以代码为主,每节的第1段代码都是完整代码,复制粘贴就能用,每

Backbone+React使用

1.react作为backbone的视图 2.backone和react和通信,backbone的view 渲染react组件, react组件使用backbone的collection数据 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title></title> <script src="http://static.runoob.

Backbone.js 中使用 Model

前面几篇 Backbone.js 的例子中有使用到 template, 及数据的填充,其实这已经很接近 Model 了.现在来学习怎么创建自己的 Model 类,并简单的使用.Backbone.js 中 Model 会涉及到很多的概念,如 Model 的初始化,默认值,属性的读写,属性值改变的监听,数据渲染,校验,以及与服务端的数据同步等. 本文不打算讲前面大部分的内容,最初思考的一个脉络是怎么把 Model 引入进来,所以线索会是 建立 Model 类 -> 初始化 Model 实例 ->

转:backbone.js源码解析:extend、Backbone.View

源:http://www.cnblogs.com/mxw09/archive/2012/07/06/2579329.html backbone版本:0.9.2 1.解析Backbone.Model(Collection | Router | View).extend (1).找到extend的定义 //定义extend函数  var extend = function (protoProps, classProps) {    /*    通常我们以Backbone.XXX.extend的方式建

Backbone: A &quot;url&quot; property or function must be specified

在backbone的collection中利用create方法添加模型的时候,报错:Uncaught Error: A "url" property or function must be specified 报错原因是:没有在模型定义中添加url,添加好正确的url后,问题就解决啦