Ce qui suit est une version simplifiée de mon code.Appel d'une fonction javascript dans un bloc define à partir d'une autre fonction du bloc
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();
});
});
}
};
});
Je veux appeler la fonction initializeTrailGrid()
chaque fois qu'une ligne est cliqué dans le app.parkGrid
. Lorsque j'essaie de l'exécuter tel qu'il est écrit, je reçois une erreur en me disant que initializeTrailGrid
n'est pas une fonction. Si j'appelle initializeTrailGrid()
à partir d'un bloc define
dans un fichier différent, cela fonctionne très bien. Le code ci-dessus se trouve dans le fichier myGrid
, j'ai donc essayé de mettre javascript/myGrid
dans la liste des définitions et d'utiliser myGrid.initializeTrailGrid()
pour l'appeler mais cela ne fonctionnait pas non plus. Existe-t-il un moyen de le faire étant donné la structure du bloc define
?
Vous devez importer. – SLaks
Mes compétences javascript sont limitées. Que voulez-vous dire en l'important? – ponder275