我有以下代码:
$.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
传递为true吗? 最佳答案
不,您不能使用bind
部分应用非初始参数(并且没有flip
)。只需使用一个函数表达式:
$.getJSON('getAllTerminals.json', function(data) {
renderTerminalsOnMapAndFitBounds.call({
index:globalRequestCounter++,
navigateToTypedText:true
}, data, true);
});
如果必须使用bind,请更改
renderTerminalsOnMapAndFitBounds
的参数顺序,或使其接受该updateSelectedTerminals
参数作为this
对象的属性。