我有一个第一个在那里的鸡或蛋......问题。
AlarmOverlay 派生自 OverlayView。
在通过调用构造函数创建 AlarmOverlay 之前,从 OverlayView 继承已经需要“google”对象。但是谷歌对象只是通过构造函数传递......
我不能用 requirejs 注入 google 对象,因为我用这个 AlarmOverlay 类编写了一个单元测试,所以必须避免任何 http 调用......我正在传递我自己的 google 假对象。
我如何重写我的代码,当新的 google.maps.OverlayView() 调用完成时,google 对象不是未定义的?
define(['jquery','inject google here is not allowed because of the unit test'], function($) {
AlarmOverlay.prototype = new google.maps.OverlayView();
function AlarmOverlay(bounds, alarmNumber, alarmCssClass , google) {
this.google = google;
}
AlarmOverlay.prototype.createMapOnOverlay = function (map) {
};
AlarmOverlay.prototype.onAdd = function() {
};
AlarmOverlay.prototype.draw = function() {
};
return AlarmOverlay;
});