backbone.js使用指难

1.首先讲一下backbone的原理,backbone的发明就是为了把页面数据实体话,只要修改model层,view层就会跟着变化,就是所谓的MVC

   以前的网页处理方式是view  + 监听器 + 业务处理 + 返回view重新渲染;使用backbone后的处理方式 view + 视图修改监听器 + model变化 + model修改监听器 +返回view重新渲      染。

2.对于backbone对MVC的实现如果一开始接触backbone,往往会让人很迷惑,我们找到了由model、collection构成的model层,找到了由view构成的View层,然后就自然的认为      router就是controller层,但是发现根本不是那么回事。当backbone的model变化时,我们在model层的initialize方法里设定了监听器,监听器触发了model层里的方法,然后这些      方法又会触发model改变的触发器,然后view层的监听器感知到model层改变触发器,最后view修改视图,听起来很绕,简单来说,为了增加model层,我们不得不在model的前      后各增加一层监听。

3.backbone自带了一些针对model的监听触发器比如add、change,我们也可以自己设定一个监听触发器,首先要设置一个监听器的触发器,this.trigger("触发器名",返回参数),       那么监听器就可以这样用this.model.on("触发器名",“触发的函数名”)。另外要注意的是自带  触发器会返回一大堆有用的参数,可以用debugger工具查一下。

4.backbone的initialize方法并不是构造方法,initialize方法是实体实例化后调用的数据初始化方法,在这个方法里修改model的属性是需要

   get/set方法来操作的,backbone也有提供专门的构造方法constructor,constructor的方法其实默认就存在的,只要new的时候时候修改属性就好,如new Model({"id",1})。

5.关于this的使用,在function内部使用,this就代表调用function的那个DOM或者实体对象,我们可以用underscore.js的_.bindAll(对象,‘ 方法名’,‘方法名’......)强行绑定到其他    对象上。

6.关于backbone与服务器交换数据,backbone完全遵照RESTful原则,把model看做资源,在collection中定义url属性,每次调用model的

   save()方法就可以根据不同情况发送PUT、POST等请求,也可以用Backbone.syn()方法来手动指定请求方式,要注意的是PUT、GET、

   DELETE需要提交model自带的id属性,id也可以通过idAttribute指向其他model的属性,model将会以json的形式被提交。

   这里补充一点springMVC的知识,对于json的处理可以用@ResponseBody和@RequestBody来处理

   public @ResponseBody Tab create(@PathVariable String viewIdentity, @RequestBody Tab tab),在服务器端定义一个与json各属性名    对应的Tab类,springMVC就会来处理    json和Tab类之间的转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值