簡體   English   中英

從定義塊中的另一個函數中調用javascript函數

[英]Calling a javascript function in a define block from a different function in the 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();
                              });
                            });
                        }                                   
        };
  }); 

每當在app.parkGrid單擊一行時,我都想調用initializeTrailGrid()函數。 當我嘗試按照編寫的方式運行它時,出現錯誤消息,告訴我initializeTrailGrid不是函數。 如果我從其他文件中的define塊調用initializeTrailGrid() ,它將正常工作。 上面顯示的代碼在文件myGrid因此我嘗試將javascript/myGrid放入定義列表中,並使用myGrid.initializeTrailGrid()進行調用,但這也不起作用。 給定define塊的結構,有沒有辦法做到這一點?

最好創建一個類:

Myclass = function () {
    this.initializeParkGrid = function (gridid, gridDiv) {
        return app.parkGrid;
    }
}

然后,在click事件上調用方法...別忘了初始化類:

var myclass = new Myclass();

app.parkGrid.on('.dgrid-row:click', function(event){
   myclass.initializeParkGrid(a, b);
});

如何從

[英]How to call a javascript function from a <c:if block

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM