jQuery回调出现问题
我尝试这样做。
MainController.js
mapController = $.fn.mapController();
getMapController = function() {
return mapController;
};
mapController.js
(function ( $ ) {
$.fn.mapController = function(options) {
let mapController = {};
let settings = $.extend({
save: function(data) {}
}, options);
mapController.openModal = function () {
//OPEN MODAL
}
return: mapController
}
}(jQuery));
nextController.js
function setPlace() {
getMapController({
save: function(data) {
console.log("TEST")
}
}).openMapModal();
}
所以...我尝试从
mapController
方法获取nextController
中的getMapController
而不是workink回调...如何在
nextController.js
中获取回调? 最佳答案
您似乎通过命名与插件返回的对象名称相同的jQuery插件引入了一些困惑。两者都称为mapController
。这本身不是问题,但是在setPlace
中您可以调用mapController
,就像它是jQuery插件一样(传递选项),但实际上它是它返回的对象(请参见MainController.js),不是功能。
因此,我认为您将需要更改MainController代码,并使全局mapController
变量等于jQuery插件:
mapController = $.fn.mapController;
// ^^^^^ remove parentheses.
如前所述,请确保消除MapController中
return
语句中的语法错误;它后面不应该有一个冒号。关于javascript - jQuery这样返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53252085/