首页 > 代码库 > 2014/08/14 – Backbonejs
2014/08/14 – Backbonejs
[来自: Backbone.js 开发秘笈 第8章]
相关技术:
1. 使用 Require.js 组织项目结构
文件结构:
index.html
lib/
underscore.js
jquery.js
backbone.js
js/
app.js
userDefine.js
index.html:
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head><!-- data-main 程序入口点 --><script src="lib/require.js" data-main="js/app"></script><body></body></html>
app.js:
//require 配置信息require.config({ //定义库别名 paths: { jquery: "../lib/jquery", underscore: "../lib/underscore", backbone: "../lib/backbone" }, //定义模块间关系 shim: { backbone: { deps: ["jquery", "underscore"],//依赖关系 exports: "Backbone"//非 AMD 标准类库定义 }, underscore: { exports: "_" }, jquery: { exports: "$" } }});//require() 方法启动应用程序require(["jquery", "../js/userDefine"], function ($, user) { $(function () { $("body").html(new user.userListView({ collection: new user.userCollection([ { id: 1, name: "yoyo" }, { id: 4, name: "ramos" }, { id: 7, name: "ronaldo" } ]) }).render().el); });});
userDefine.js:
//AMD 标准模块定义 [参数一为加载模块数组,参数二为模块加载后的回调函数]define(["jquery", "backbone", "underscore"], function ($, Backbone, _) { return { userCollection: Backbone.Collection.extend({ model: Backbone.Model.extend() }) , userListView: Backbone.View.extend({ tagName: "ul", render: function () { this.$el.html(_.map(this.collection.models, function (model) { return "<li><a href=‘javascript:;‘>" + model.get("name") + "</a></li>"; })); return this; } }) };});
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。