backbone入门

demo1.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

//var model = new Backbone.Model();
//
//var models = new Backbone.Collection();
//
//var view = new Backbone.View();






//var model = new Backbone.Model();
//
//model.set('name','hello');
//
//alert( model.get('name') );







var model_1 = new Backbone.Model({'name':'hello'});
var model_2 = new Backbone.Model({'name':'hi'});

var models = new Backbone.Collection();
models.add( model_1 );
models.add( model_2 );

alert( JSON.stringify(models) );

</script>
</head>

<body>
</body>
</html>

demo2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

//var M = Backbone.Model.extend({
//	aaa : function(){  //实例方法
//		alert(123);
//	}
//},{
//	bbb : function(){  //静态方法
//		alert(456);
//	}
//});
//
//var model = new M;
//model.aaa();
//M.bbb();







//var M = Backbone.Model.extend({
//	defaults : {
//		name : 'hello'
//	}
//});
//
//var model = new M;
//alert( model.get('name') );







var M = Backbone.Model.extend({
	aaa : function(){
		alert(123);
	}
});

var ChildM = M.extend();

var model = new ChildM;
model.aaa();

</script>
</head>

<body>
</body>
</html>

demo3.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

//var M = Backbone.Model.extend({
//	defaults : {
//		name : 'hello'
//	},
//	initialize : function(){  //初始化构造函数
//		
//		this.on('change',function(){
//			alert(123);
//		});
//		
//	}
//});
//
//var model = new M;
//model.set('name','hi');







//var M = Backbone.Model.extend({
//	defaults : {
//		name : 'hello'
//	},
//	initialize : function(){  //初始化构造函数
//		
//		this.on('change:name',function(model){
//			
//			console.log(model);
//			
//		});
//		
//	}
//});
//
//var model = new M;
//model.set('name','hi');







$(function(){

	var M = Backbone.Model.extend({
		defaults : {
			name : 'hello'
		}
	});
	
	var V = Backbone.View.extend({
			
		initialize : function(){
			
			this.listenTo( this.model , 'change' , this.show );
			
		},
		show : function(model){
			$('body').append( '<div>'+ model.get('name') +'</div>' );
		}
		
	});
	
	
	var m = new M;
	var v = new V({model:m});
	m.set('name','hi');

});








//var model = new Backbone.Model();
//
//var C = Backbone.Collection.extend({
//	initialize : function(){
//
//		this.on('add',function(){
//			alert(123);
//		});
//		
//	}
//});
//
//var models = new C;
//models.add( model );

</script>
</head>

<body>
</body>
</html>

demo4.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

//Backbone.sync = function(method, model) {
//	  alert(method + ": " + JSON.stringify(model));
//	  model.id = 1;
//};
//
//var M = Backbone.Model.extend({
//	defaults : {
//		name : 'hello'
//	},
//	url : '/user'
//});
//
//var m = new M;
//m.save();
//m.save({name : 'hi'});









Backbone.sync = function(method, model) {
	  alert(method + ": " + JSON.stringify(model));
};

var C = Backbone.Collection.extend({
	initialize : function(){
		this.on('reset',function(){
			alert(123);
		});
	}, 
	url: '/users'
});

var models = new C;
models.fetch();

</script>
</head>

<body>
</body>
</html>

demo5.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

var Workspace = Backbone.Router.extend({

	routes: {
		"help":                 "help",    // #help
		"search/:query":        "search",  // #search/kiwis
		"search/:query/p:page": "search"   // #search/kiwis/p7
	},
	
	help: function() {
		alert(1);
	},
	
	search: function(query, page) {
		alert(2);
	}

});

var w = new Workspace;
Backbone.history.start();

</script>
</head>

<body>
</body>
</html>

demo6.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

$(function(){
	
	var V = Backbone.View.extend({
		
		el : $('body'),
		events : {
			'click input' : 'aaa',
			'mouseover li' : 'bbb'
		},
		aaa : function(){
			alert(123);
		},
		bbb : function(){
			alert(456);
		}
		
	});
	
	var veiw = new V;
	
});

</script>
</head>

<body>
<input type="button" value="1" />
<ul>
	<li>11111</li>
    <li>11111</li>
    <li>11111</li>
    <li>11111</li>
</ul>
</body>
</html>

demo7.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="jquery-2.0.3.min.js"></script>
<script src="underscore-min.js"></script>
<script src="backbone-min.js"></script>
<script>

//$(function(){
//
//	var M = Backbone.Model.extend({
//		defaults : {
//			name : 'hello'
//		}
//	});
//	
//	var V = Backbone.View.extend({
//			
//		initialize : function(){
//			
//			this.listenTo( this.model , 'change' , this.show );
//			
//		},
//		show : function(model){
//			$('body').append( '<div>'+ model.get('name') +'</div>' );
//		}
//		
//	});
//	
//	
//	var m = new M;
//	var v = new V({model:m});
//	m.set('name','hi');
//
//});









$(function(){

	var M = Backbone.Model.extend({
		defaults : {
			name : 'hello'
		}
	});
	
	var V = Backbone.View.extend({
			
		initialize : function(){
			
			this.listenTo( this.model , 'change' , this.show );
			
		},
		show : function(model){
			$('body').append( this.template(this.model.toJSON()) );
		},
		template: _.template($('#template').html())
		
	});
	
	
	var m = new M;
	var v = new V({model:m});
	m.set('name','hi');

});

</script>
</head>

<body>

<!--<script type="text/template" id="template">
	
	<div><%= name %></div>
	
</script>-->




<script type="text/template" id="template">
	<% for (var i=0;i<5;i++) { %>
		<div><%= name %></div>
	<% } %>
</script>
</body>
</html>


先展示下效果 https://pan.quark.cn/s/5061241daffd 在使用Apache HttpClient库发起HTTP请求的过程中,有可能遇到`HttpClient`返回`response`为`null`的现象,这通常暗示着请求未能成功执行或部分资源未能得到妥善处理。 在本文中,我们将详细研究该问题的成因以及应对策略。 我们需要掌握`HttpClient`的运作机制。 `HttpClient`是一个功能强大的Java库,用于发送HTTP请求并接收响应。 它提供了丰富的API,能够处理多种HTTP方法(例如GET、POST等),支持重试机制、连接池管理以及自定义请求头等特性。 然而,一旦`response`对象为`null`,可能涉及以下几种情形:1. **连接故障**:网络连接未成功建立或在请求期间中断。 需要检查网络配置,确保服务器地址准确且可访问。 2. **超时配置**:若请求超时,`HttpClient`可能不会返回`response`。 应检查连接和读取超时设置,并根据实际需求进行适当调整。 3. **服务器故障**:服务器可能返回了错误状态码(如500内部服务器错误),`HttpClient`无法解析该响应。 建议查看服务器日志以获取更多详细信息。 4. **资源管理**:在某些情况下,如果请求的响应实体未被正确关闭,可能导致连接被提前释放,进而使后续的`response`对象为`null`。 在使用`HttpClient 3.x`版本时,必须手动调用`HttpMethod.releaseConnection()`来释放连接。 而在`HttpClient 4.x`及以上版本中,推荐采用`EntityUtils.consumeQuietly(respons...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值