0

ExtJS Direct プロキシを使用しており、メソッドを呼び出すときにスコープを渡す方法を知る必要があります。現在、私はこれをやっています

myapp.direct.action.mygridservice.getGridData("123",this.getSearchCbo().getValue(), function(p_,resp_){
          //do something
      }, this);  

Java メソッドで、String 型のスコープに 3 番目のパラメータを追加しましたが、「this」が未定義であるというエラーが引き続き表示されます

ありがとう

4

3 に答える 3

1

1.- 渡すスコープ パラメータはバックエンドではなく、コールバック関数です。(サーバー側が応答したら実行する関数)

2.- バックエンドにさらに情報を渡したい場合は、コールバック関数とスコープの前にオブジェクトで渡す必要があります。

例:

    var jsObject = {//put all the info you need to send to the server so you dont have 50 params}

    myapp.direct.action.mygridservice.getGridData("123",comboValue, jsObject someFunction, this); 

これをスコープとして渡すと、他の方法では到達できないいくつかの変数にアクセスできるようになります。

行う:

console.log(this);

コールバック関数で。

于 2015-06-08T20:54:31.637 に答える
0

これを試してください:

loadData: function () {    
  RemoteManager.loadData(param1,param2, this.callbackLoadData, this);
},

callbackLoadData: function (result, e) {
   var t = e.getTransaction();
   var ctl = t.args[t.args.length - 1];
}
于 2015-06-08T16:19:10.547 に答える
0

コールバック関数をラップする必要があるかもしれません。

このリンクを確認してください。

追加データをコールバックに渡す https://www.sencha.com/forum/showthread.php?188184-set-scope-of-Ext.Direct-callback-handler

于 2015-06-08T16:27:34.557 に答える