上一篇列出了collection的代码,下面要把代码进行分离

 //先是app.js
var ContactManager = new Marionette.Application(); ContactManager.addRegions({
mainRegion: "#main-region"
});
ContactManager.on("initialize:after", function () {
ContactManager.ContactsApp.List.Controller.listContacts();
});
 //再是list_view.js
ContactManager.module("ContactsApp.List", function (List, ContactManager,
Backbone, Marionette, $, _) {
List.Contact = Marionette.ItemView.extend({
tagName: "li",
template: "#contact-list-item"
});
List.Contacts = Marionette.CollectionView.extend({
tagName: "ul",
itemView: List.Contact
});
});
 //接着是contact.js
ContactManager.module("Entities", function (Entities, ContactManager,
Backbone, Marionette, $, _) {
Entities.Contact = Backbone.Model.extend({});
Entities.ContactCollection = Backbone.Collection.extend({
model: Entities.Contact,
comparator: "firstname"
});
var contacts;
var initializeContacts = function () {
contacts = new Entities.ContactCollection([
{
id: 1, firstname: "Alice", lastname: "Arten", phoneNumber: "555-0184"
},
{
id: 2, firstname: "Bob", lastname: "Brigham", phoneNumber: "555-0163"
},
{
id: 3, firstname: "Charlie", lastname: "Campbell", phoneNumber: "555-0129"
}
]);
};
var API = {
getContactEntities: function () {
if (contacts === undefined) {
initializeContacts();
}
return contacts;
}
};
ContactManager.reqres.setHandler("contact:entities", function () {
return API.getContactEntities();
}); });
 //最后list_controlller.js
ContactManager.module("ContactsApp.List", function (List, ContactManager,
Backbone, Marionette, $, _) {
List.Controller = {
listContacts: function () {
var contacts = ContactManager.request("contact:entities");
var contactsListView = new List.Contacts({
collection: contacts
});
ContactManager.mainRegion.show(contactsListView);
}
};
});
 //当然还有index.html
<!DOCTYPE html>
<html>
<head>
<title> Marionette Contact Manager</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="../css/bootstrap.css" rel="stylesheet" > <style type="text/css">
body{
margin-top: 60px;
}
</style> </head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top" >
<div class="navbar-inner" >
<div class="container" >
<span class="brand" style=" color: white"> Contact manager</span>
</div>
</div>
</div>
<div id="main-region" class="container" >
<p> Here is static content in the web page. You'll notice that it gets
replaced by our app as soon as we start it. </p>
</div>
<script type="text/template" id="contact-list-item" >
<%= firstname %> <%= lastname %>
</script>
<script src="../js/libs/jquery/jquery-1.11.1.min.js" type="text/javascript"></script>
<script src="../js/libs/underscore.js/underscore.js" type="text/javascript"></script>
<script src="../js/libs/backbone.js/backbone.js" type="text/javascript"></script>
<script src="../js/libs/backbone.marionette/backbone.marionette.js" type="text/javascript"></script>
<script src="../js/libs/json2/json2.js" type="text/javascript"></script>
<script src="../js/test/module4/app.js" type="text/javascript"></script>
<script src="../js/test/module4/contact.js" type="text/javascript"></script>
<script src="../js/test/module4/list_view.js" type="text/javascript"></script>
<script src="../js/test/module4/list_controlller.js" type="text/javascript"></script>
<script type="text/javascript" >
ContactManager.start();
</script> </body>
</html>

效果如图:

这就是module干的事。

backbone之module的更多相关文章

  1. [Backbone]1. Module, View classed

    Welcome to the Anatomy of Backbone.js challenges! We're going to be building a simple Appointment ap ...

  2. ACNet: 特别的想法,腾讯提出结合注意力卷积的二叉神经树进行细粒度分类 | CVPR 2020

    论文提出了结合注意力卷积的二叉神经树进行弱监督的细粒度分类,在树结构的边上结合了注意力卷积操作,在每个节点使用路由函数来定义从根节点到叶子节点的计算路径,结合所有叶子节点的预测值进行最终的预测,论文的 ...

  3. 从卷积拆分和分组的角度看CNN模型的演化

    博客:博客园 | CSDN | blog 写在前面 如题,这篇文章将尝试从卷积拆分的角度看一看各种经典CNN backbone网络module是如何演进的,为了视角的统一,仅分析单条路径上的卷积形式. ...

  4. Backbone源码分析(一)

    距离上一篇博客有一段时间了,期间各种琐事萦绕.最主要的一件是,当我差不多将整个dojo核心源码看完,惊讶的发现dojo1.*的设计以是老态龙钟之象,而我沉溺在dojo中太久,已经不知道前端世界变成了什 ...

  5. 浅谈HTML5单页面架构(二)——backbone + requirejs + zepto + underscore

    本文转载自:http://www.cnblogs.com/kenkofox/p/4648472.html 上一篇<浅谈HTML5单页面架构(一)--requirejs + angular + a ...

  6. TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之三 Views

    这个版本的TodoMVC中的视图组织划分比较细,更加易于理解,这也得益于Marionette为我们带来了丰富的视图选择,原生的backbone只有views,而Marionette则有itemview ...

  7. TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之一

    Marionette牵线木偶,Backbone是脊骨的意思,Marionette是基于Backbone做扩展库,可以理解为把脊骨骨架绑线扯着变成牵线木偶动起来哈哈,使backbone更易使用呵呵! 构 ...

  8. Backbone事件模块源码分析

    事件模块Backbone.Events在Backbone中占有十分重要的位置,其他模块Model,Collection,View所有事件模块都依赖它.通过继承Events的方法来实现事件的管理,可以说 ...

  9. angularjs backbone 集成requirejs 模块化

    首先认识requirejs requirejs是个包加载器,核心功能是模块化管理,可以实现按需加载. 重点是明白 模块化不是按需加载. 模块化的意义: 是通过代码逻辑表明模块之间的依赖关系和执行顺序, ...

随机推荐

  1. day_02比特币的转账机制及其7个名词

    一:比特币的转账机制: 类似于普通转账:登录钱包--->选择转出(入)币的钱包地址--->填入转出数额及其手续费--->比特币签名--->提交比特币网络--->进行矿工打 ...

  2. Codeforces 920E-Connected Components? (set,补图,连通块)

    Connected Components? CodeForces - 920E You are given an undirected graph consisting of n vertices a ...

  3. php 把数字拆分成数组

    用str_split $a = 1234567890; //拆分数字为数组 var_dump( str_split($a, 1) ); 打印结果 : Array ( [0] =2 [1] =5 )

  4. MODI的OCR接口

    MODI的OCR接口 MODI的OCR接口 MODI的OCR接口

  5. ubuntu卸载/更新Cmake

    CMake安装或CMake Error at CMakeLists 发生情景: 使用cmake命令安装软件时,报如下错误: CMake Error at CMakeLists.txt:4 (CMAKE ...

  6. HDU4465 Candy

    Candy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  7. 干货 | 以太坊Mist负责人教你建立无服务器应用

    作者:Alex Van de Sande译者:王建/蔡佳慧译者介绍: 王建:万云平台区块链技术专家,拥有多年应用系统架构经验,目前在区块链落地方面进行积极探索 蔡佳慧:万云平台实习生,区块链技术爱好者 ...

  8. js文件中使用el表达式问题

    作者:Sang 单独js文件不能用el表达式. 首先,JSP是由服务端执行的,EL表达式自然也由服务端解析执行,因此如果EL所在的脚本在JSP页面内,它是可以获取到值的,这个值在服务器端返回到浏览器端 ...

  9. modbus-crc16——c语言

    为确保消息数据的完整性,除了验证消息CRC之外,建议实现检查串行端口(UART)成帧错误的代码.如果接收消息中的CRC与接收设备计算的CRC不匹配,则应忽略该消息.下面的C语言代码片段显示了如何使用逐 ...

  10. Acwing-287-积蓄程度(树上DP, 换根)

    链接: https://www.acwing.com/problem/content/289/ 题意: 有一个树形的水系,由 N-1 条河道和 N 个交叉点组成. 我们可以把交叉点看作树中的节点,编号 ...