我正在尝试使用骨干作为框架创建一个可插拔的销售点接口。
所以我有一个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);