欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

backbone初步(秒味课堂)

程序员文章站 2022-04-28 23:07:43
...
作者:zccst

作为一个大型程序框架,backbone的思路是很好的
下面就好好学习一下

基本使用:
1,直接创建对象
2,给构造函数添加实例方法和静态方法
3,继承操作
4,自定义事件
5,数据与服务器
6,路由与历史管理
7,事件委托
8,前端模板


举例:
1,直接创建对象
var o = Backbone.Model();

2,给构造函数添加实例方法和静态方法

3,继承操作
A是一个Model,添加了aa方法
B是一个继承A的Model,则B的对象也有aa方法

4,自定义事件
var M = Backbone.Model.extend({
	default:{
		name:'hello'
	},
	//初始化构造函数
	initialize:function(){
		//表示model发生变化时触发
		/*this.on('change',function(){
			alert(123);
		});*/
		this.on("change:name",function(model){
			console.log(model);
		});
	}
});
var m = new M();
m.set("name","w1");
m.set("name","w2");
m.set("name","w3");


/**模型与视图相结合的例子*/
var M = Backbone.Model.extend({
	default:{
		name:'hello'
	}
});
var V = Backbone.View.extend({
	//初始化构造函数
	initialize:function(){
		//表示model发生变化时触发
		this.listenTo(model, 'change', show);
	},
	show :function(model){
		$("body").append("<div>"+model.get("name")+"</div>");
	}
});
var m = new M;
var v = new V({model:m});//model与view发生联系是将model对象传入view对象
m.set("name","ww");

5,数据与服务器
Backbone.sync = function(method_name, model, callback){
	console.log(method_name + JSON.stringify(model));
	model.id = 1;
};

var M = Backbone.Model.extend({
	default:{
		name:'hello'
	},
	url:"/user"
});

var m = new M;
m.save();//保存,调用validate,调用sync,第一次是create,第二次是update
m.save("name","ww");


还有Collection与服务器端调用(待续)


6,路由与历史管理
当在浏览器输入不同的URL时,调用不同的方法
var R = Backbone.View.Route({
    routes : {    //路由映射
        'help' : help,
        'help/method': search,
    }
    help : function(){alert('a');},
    search : function(){alert('b');}
});
var r = new R;
history.start();

对于历史管理:就是在前进或后退时也会触发调用(因为URL发生了变化)



7,事件委托
var V = Backbone.View.extend({
    el:$("body"), //委托元素
    events : {    //委托事件
        'click input' : aaa,
        'mouseover li': bbb,
    }
    aaa : function(){alert('a');},
    bbb : function(){alert('b');}
});

<body>
<input />
<ul><li>1</li></ul>
</body>


8,前端模板


例子分析:TODOS




如果您觉得本文的内容对您的学习有所帮助,您可以微信:
backbone初步(秒味课堂)
            
    
    博客分类: backbone等框架 JavaScriptbackbone 
相关标签: JavaScript backbone