您好我希望能够在Backbone对象的初始化中存根调用requirejs模块。例如:
define(function(require){
var Backbone = require("backbone"),
BalanceModule = require("BalanceModule");
return Backbone.View.extend({
initialize: function(){
this.balance = BalanceModule.requestBalance();
}
});
})
我希望能够存根BalanceModule,但因为在初始化方法中我无法做到。
我可以存根初始化方法,但这意味着我要在测试中测试代码。
我尝试了require.undef()模块并加载另一个没有运气的模块。看来,一旦你初始化了对象,它就有一个内部引用无法覆盖。
有什么想法吗?
答案 0 :(得分:0)
您可以像这样修改 BalanceModule :
define({
var BalanceModule = function(){
}
return BalanceModule;
});
而不是:
define({
var BalanceModule = function(){
}
return new BalanceModule();
});
所以你可以像这样使用:
define(function(require){
var Backbone = require("backbone"),
BalanceModule = require("BalanceModule");
return Backbone.View.extend({
initialize: function(){
this.balance = new BalanceModule().requestBalance();
}
});
})