backbone实例01
backbonejs往简单说,就是一前端MVC框架,适合用于单页面、复杂的前端逻辑。
直接上代码,里面都有相关注释,重点是理解清楚view、collection、model这三者如何关联调用。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>backbone实例01</title>
</head>
<body>
<input type="text" id="add">
<ul id="man-list">
</ul>
<script src="vendor/zepto.js"></script>
<script src="vendor/underscore.js"></script>
<script src="vendor/backbone.js"></script>
<script>
(function ($) {
//定义model
var People = Backbone.Model.extend({
defaults: {
name: null
}
}); //定义Collection
var Peoples = Backbone.Collection.extend({
model: People,//关联上了相关model
initialize: function(options) {
this.bind('add',options.view.show);//这里事件监听关键
}
}); //定义view
var AppView = Backbone.View.extend({
el: $("body"),
initialize: function() {
this.peoples = new Peoples({view: this});//关联上集合
},
events: {
'keypress #add': 'addMan'
},
addMan: function(e) {
var key = e.which;
if(key !== 13) return;
var name = $(e.target).val();
var people = new People({name:name});
this.peoples.add(people);//添加model到集合,与此同时会触发集合中的监听方法
},
show: function(model){//集合调用view中的方法,并能将集合中的model传递过来
var template = "<li>你们好,我是"+model.get('name')+",请多多关照!</li>";
$('#man-list').append(template);
$('#add').val('');
}
}); new AppView();
})(Zepto);
</script>
</body>
</html>
该例中,入口是Appview,其初始化时就关联了一collection,在该collection中关联上了model,并添加了‘add’监听方法,该方法在往集合中添加model时出发,这里在出发时会调用view中的相关方法渲染页面。
backbone实例02。。。。。进行中。。。。。
backbone实例01的更多相关文章
- Backbone实例todos分析
源码来自:http://todomvc.com/examples/backbone/ 这是一个用Backbone.js完成的待办事项实例,精简但完善,可以帮助很好的帮助理解Backbone的API,M ...
- matplotlib 绘图实例01:正弦余弦曲线
该讲的实例结果如下图所示: 第01步:导入模块,并设置显示中文和负号的属性: import matplotlib.pyplot as plt import numpy as np plt.rcPara ...
- Node聊天程序实例01
作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的<Node.js in Action>一书. 本实例要实现 ...
- Vuejs实例-01使用vue-cli脚手架搭建Vue.js项目
[TOC] 1. 前言 vue-cli 一个简单的构建Vue.js项目的命令行界面 整体过程: $ npm install -g vue-cli $ vue init webpack vue-admi ...
- obj-c编程15[Cocoa实例01]:一个会发声的随机数生成器
哇!终于到了obj-c编程系列的第15篇喽,一路走过来满不容易的哦!(怎么个意思,这才哪到哪啊!),为了能够更好的练习obj-c在Cocoa框架上的编程,接下来会以N篇Cocoa实例的博文来巩固和记忆 ...
- Spring.Net 简单实例-01(IOC)
1.话不多说看操作.新建"Windows窗体应用程序" 2:通过配置文件创建IOC容器 首先引入安装包 3:定义一个接口(更好的体现封装性,当然也可以直接使用类) 定义一个类,实现 ...
- Struts2+DAO层实现实例01——搭建Struts2基本框架
实例内容 利用Strust2实现一个登陆+注册功能的登陆系统. 实现基础流程:
- 一个简单的backbone实例(基于139邮箱)
先看一下效果图: 代码如下: <!doctype html> <html lang="en"> <head> <meta http-equ ...
- Vue + ElementUI的电商管理系统实例01 登录表单
效果图: 1.首先来根据Element网站实现布局: <template> <div class="login_container"> <div cl ...
随机推荐
- php调试局部错误强制输出 display_errors
error_reporting(E_ALL); ini_set('display_errors', '1'); ini_set('error_log', dirname(__FILE__) . '/e ...
- 本周psp
本周PSP 类别 内容 开始时间 中止时间 终止时间 总用时 产品计划会议 定义产品的用户需求,以及从这个产品中得到什么.解决啥问题 18:00 0 20:00 120分钟 撰写博客 会议记录与个 ...
- Windows10有获取通知,但是就不推送的解决方法
1. 删除“C:\Windows\SoftwareDistribution\Download”下所有文件2. 以管理员身份运行命令提示符,输入“wuauclt.exe /updatenow”并回车(注 ...
- MySQL:动态开启慢查询日志(Slow Query Log)
前言 在开发中,高效能的程序 也包括 高效能的查询,所以优化SQL也是程序员必要技能之一.要优化就必须要有慢日志记录才可以知道哪些查询慢,然后反向去修改 慢日志设置方式 写入文件 写入数据库 实践操作 ...
- js自定义弹出框
js自定义弹出框: 代码如下 <html> <head><title>自定义弹出对话框</title> <style type ="te ...
- 点单登录原理和java实现简单的单点登录
引用自:http://blog.csdn.net/zuoluoboy/article/details/12851725 摘要: 单点登录(SSO)的技术被越来越广泛地应用到各个领域的软件系统当中.本文 ...
- LeetCode Reverse Vowels of a String
原题链接在这里:https://leetcode.com/problems/reverse-vowels-of-a-string/ 题目: Write a function that takes a ...
- 数据迁移工具sqoop
有问题........数据迁移工具sqoop sqoop安装 [root@sqoop data]# wget wget http://apache.fayea.com/sqoop/1.4.6/sqo ...
- redhat note
1,iptables -I INPUT 5 -m state --state NEW -p tcp --dport 80 -j ACCEPT
- C#、不说再见
公司技术转型,.NET To Java,以后逐渐踏入Java阵营. 再见了 Java嫌弃的老同学,再见了 来不及说出的谢谢 再见了 不会再有的.NET,再见了 我留给你毕业册的最后一页 我相信 我们还 ...