我有以下代码:
$.getJSON('getAllTerminals.json', renderTerminalsOnMapAndFitBounds.bind({index:globalRequestCounter++, navigateToTypedText:true}))
...
function renderTerminalsOnMapAndFitBounds(data, updateSelectedTerminals) {
renderTerminalsOnMap.call(this,data);
fitBounds();
if(this.navigateToTypedText === true){
navigateMapToTypedAdress();
}
if (updateSelectedTerminals) {
$.getJSON('getSelectedTerminals', {}, function (json) {
window.MARC.addTerminalPage.terminalsSelected = json;
update();
initPage();
});
}
}
您能否告诉我如何使所有工作现在正常,但renderTerminalsOnMapAndFitBounds
已通过updateSelectedTerminals
为真?
答案 0 :(得分:2)
不,您不能使用bind
部分应用非初始参数(并且没有flip
)。只需使用函数表达式:
$.getJSON('getAllTerminals.json', function(data) {
renderTerminalsOnMapAndFitBounds.call({
index:globalRequestCounter++,
navigateToTypedText:true
}, data, true);
});
如果必须使用bind,请更改renderTerminalsOnMapAndFitBounds
的参数顺序,或使其接受updateSelectedTerminals
参数作为this
对象的属性。