Das Folgende ist eine vereinfachte Version meines Codes.Aufruf einer JavaScript-Funktion in einem Define-Block von einer anderen Funktion im Block
define ([
"dojo/dom",
"dojo/_base/array",
"dojo/_base/declare",
"dgrid/OnDemandGrid",
"dgrid/Selection",
"dgrid/Keyboard",
"dijit/form/Button",
"dojo/store/Memory",
"dojo/dom-construct",
"dojo/string",
"esri/layers/FeatureLayer",
"esri/tasks/query",
"esri/tasks/QueryTask",
"javascript/myUtilities",
"javascript/myCSV",
"javascript/myGrid"
], function (
dom,arrayUtils,declare,Grid,Selection,Keyboard,Button,Memory,domConstruct,dojoString,FeatureLayer,Query,QueryTask, myUtilities, myCSV, myGrid) {
return {
initializeParkGrid: function(gridid, gridDiv){
//code is here
return app.parkGrid;
},
initializeTrailGrid: function(gridid, gridDiv){
//code is here
return app.trailGrid;
},
updateParkGrid: function(){
//code is here
app.parkGrid.on('.dgrid-row:click', function(event){
initializeTrailGrid();
});
});
}
};
});
Ich möchte die initializeTrailGrid()
Funktion aufzurufen, wenn eine Zeile in der app.parkGrid
geklickt wird. Wenn ich versuche, es so auszuführen, wie es geschrieben wird, erhalte ich eine Fehlermeldung, dass initializeTrailGrid
keine Funktion ist. Wenn ich initializeTrailGrid()
von einem Block in einer anderen Datei aufrufen, funktioniert es gut. Der Code, der oben gezeigt wird, ist in der Datei myGrid
, also versuchte ich, javascript/myGrid
in die Definitionsliste zu setzen und zu verwenden, um ihn zu nennen, aber das hat auch nicht funktioniert. Gibt es eine Möglichkeit, dies zu tun, wie der -Block strukturiert ist?
Sie müssen es importieren. – SLaks
Meine Javascript-Fähigkeiten sind begrenzt. Was meinst du damit, es zu importieren? – ponder275