骨干继承超出了最大调用堆栈大小

时间:2014-01-11 03:35:23

标签: javascript backbone.js

我正在尝试使用骨干作为框架创建一个可插拔的销售点接口。

所以我有一个main.js文件,用作整个应用程序的入口点和基本模型,如下所示:

(function (pos) {
    pos.point_of_sale_plugins = Backbone.PoSPlugin.extend({
        init: function () {
            pos_db();         
            pos_models();     
            pos_basewidget(); 
            pos_widgets();    
        }
    });

})(pos);

然后我可以像这样扩展名为plugin_one.js的文件:

(function (pos) {
    pos.point_of_sale_plugins = point_of_sale_plugins.extend({
        init: function () {
            var self = this;
            // Call original init function
            point_of_sale_plugins.__super__.init.call(this);
            // Call tables initialization
            pos_restaurant_db();           
            pos_restaurant_models();        
            pos_restaurant_screens();       
            pos_restaurant_widgets();       
        }
    });
})(pos);

问题在于,如果我尝试在名为plugin_two.js的文件上扩展该函数,则会超过最大调用堆栈大小。我用python进行开发,这就是为什么我要尝试做这样的继承,不知道我是否可以在javascript上做到这一点,或者我错过了一个非常基本的观点,并且必须以完全不同的方式工作。

这是我的plugin_two.js文件的内容

(function (pos) {

    pos.point_of_sale_plugins = point_of_sale_plugins.extend({
        init: function () {
            var self = this;
            // Call original init function
            point_of_sale_plugins.__super__.init.call(this);
            // Include synchronization features
            pos_sync();            
        }
    });
})(pos);

0 个答案:

没有答案