backbone.js+jqm+html5的移动App开发总结一

最近才意识到记录问题的重要性,以前好多东西没有记录下来,都渐渐遗忘了,现在,就从眼下的问题开始。

我的任务是负责移动端开发的逻辑部分,一个模块做出来了,其他模块快是快,但是总得有点进步,今天添加新模块希望有所突破,因为这些天的工作下来发现各个模块的代码十分类似,但就是有那么一点区别,而且一直苦于js语言不够面向对象,不像java可以直接继承,但也是有办法的。今天不想只是简单拷贝代码了,希望对Backbone.js中的Backbone.View深度扩展(简单来说就是继承,实现代码公用,model应该也是一样的道理)。

在这里就今天的实验成果进行简单的记录,首先需要创建一个超类SuperModule

var SuperModule = Backbone.View.extend({

     constructor:superConstructor;

  //代码

});

 function superConstructor() {     
superConstructor.__super__.constructor.call(this);
}

实现深度扩展最重要的是将Backbone.View的子类SuperModule的constructor构造函数=superConstructor

而在superConstructor中实现的其实就是调用父类(也就是Backbone.View)的构造器(constructor)

接下来就是对SuperModule这个超类进行向下扩展(即是继承,也就是深度扩展了)类似代码如下:

var subModule = SuperModule.extend({

constructor: subConstructor
//....

});

function subConstructor() {  subConstructor.__super__.constructor.call(this); // 调用父类构造器    }

到此为止就实现了深度扩展了,资历尚浅,可能还有问题,只是暂时还没有碰到,如有错误,欢迎指正。

方法并不难,真正理解就比较难了,以后深入理解Backbone或者js,看来至少是要仔细研读一下里面的继承机制了,继续研究研究

(今天下午不知道抽了什么风,把调用父类构造器代码中的.constructor.call(this)给注释了,结果一下午进入一个诡异的Bug空间,但是真的挺诡异的,一进入调试模式就没有问题,直接运行就会有问题,而且问题是出在changePage切换页面的时候,“_trigger of null”,至今还是不明白,应该都会报错啊,为什么调试的时候不会错,希望以后能够弄明白。

http://www.cnblogs.com/snandy/archive/2013/05/27/3097429.html感谢这篇博文作者,不然我也没有解决的方向,网上提到的好少,在此希望不仅自己做个总结,也是给有需要的朋友一个方便了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值