Backbone学习日记[1]:感性认识

使用backbone.js的意义是什么呢?

        Backbone将数据呈现为模型, 你可以创建模型、对模型进行验证和销毁,甚至将它保存到服务器。 当UI的变化引起模型属性改变时,模型会触发"change"事件; 所有显示模型数据的视图会接收到该事件的通知,继而视图重新渲染。 你无需查找DOM来搜索指定id的元素去手动更新HTML。 — 当模型改变了,视图便会自动变化

1、Backbone.js依赖2个库:jquery和Underscore.js;

2、Backbone.js的mvc分别是:模型(models)、集合(collections)、视图(views)。C是指collections,结合的意思,可能是数据的集合,也可能是视图的集合,不是Controller,model指数据;

3、Backbone.js基本没有兼容问题;

模型发生改变,自动触发视图改变demo:

<script type="text/javascript" src="jquery.min.full.js"></script>
<script type="text/javascript" src="Underscore.js"></script>
<script type="text/javascript" src="Backbone.js"></script>
<script type="text/javascript">
var M = Backbone.Model.extend({
	default:{
		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')

</script>

首先是建立模型对象用于保存数据,然后建立视图对象用于监控模型的变化。在视图的初始化方法initialize中建立对模型的监听。

最后建立模型和视图的实例,并把模型实例作为参数传给视图对象用以生成具体的一个视图实例。从而完成视图和模型的捆绑

你可能感兴趣的:(Backbone学习日记[1]:感性认识)