2017-01-23 7 views
0

注: "afterRequest関数内の別のクラスBでClassA関数" deleteEntryInternal "を呼び出す必要があります。extjs4の異なるクラスB関数でクラスAから関数を呼び出す方法

私のコードはここに //下にあるが、私のクラスは、このメソッドを呼び出すには

Ext.define('WebCare.UI.OtherServicesEditor', { 
extend: 'Ext.WebCare.UI.BaseEditor', 
_otherservicesGrid: null, 
alias: 'widget.otherserviceseditor', 
title: 'Other Services', 
defaultType: 'textfield', 
id: 'otherservicesEditor', 

deleteEntryInternal: function (isDelete) { 
    this.disableForm(); 
    var self = this; 
    var selection =  self._otherservicesGrid.getSelectionModel().getSelection(); 
    if (selection.length > 0) { 
     if (isDelete) { 
      selection[0].data.IsDelete = true; 
     } 
     this.deleteServerRecord(selection[0].data, function() { }); 

     vent.trigger(otherServicesStore.storeId, selection[0].data); 
    } 
} 
+0

関数が静的でない限り、クラスの関数を呼び出すことはできません。クラスインスタンス上でのみ関数を呼び出すことができます。そのためには、インスタンス( 'var instanceA = Ext.create( 'A'); instanceA.deleteEntryInternal()')が必要です。 – Alexander

+0

返信ありがとう!!! – Hemant

+0

[mixins](http://docs.sencha.com/extjs/4.2.6/#!/api/Ext.Class-cfg-mixins)はどうですか? – scebotari66

答えて

2

である、あなたは、このクラスのインスタンスを取得する必要があります。そして、あなたはそのクラスのメソッドを呼び出すことができます。

1.YouはのappNameがあなたのExtJSアプリケーションの名前です

var controllerInstance = appName.app.getController('appName.controller.controllerName'); 
controllerInstance.methodToCall(); 

によってExt.app.Controllerのインスタンスを取得することができます。

var viewInstance = Ext.getCmp(viewId); 
viewInstance.methodToCall(); 

のviewIdはあなたのビューのIDです - あなたのクラス2.Ifは

は、あなたがすることによって、そのインスタンスを取得することができ、すでにレンダリングされる図です。

MyStaticClass.methodToCall(); 
-1

交差することをお勧めことはありません - あなたはクラスMyStaticClassは静的クラスであれば、あなたのような、そのメソッドを呼び出すことができ、直接のような静的クラスのメソッドを呼び出すことができます -

3.静的クラスどのような方法でも参照クラスのメソッド。 Harshalのメソッドは動作しますが、それは非常に悪いアプリデザインです。あなたのクラスが別のクラスで何が起こっているのかをイベントに反応させる必要がある場合、クラスAのイベントを起動し、クラスBのリスナを設定するのはなぜですか?

+0

しかし、私はこのデザインに従わなければなりません。あなたは私にこれについて何か考えを与えることができますか? – Hemant

+0

そのイベントをトリガーするクラスの種類は何ですか?私。 afterRequest関数を含むクラスの定義は何ですか?それはコントローラ、別のビューですか? –

+0

はい、同意します。理想的には、これらのタイプのメソッド呼び出しは必要ありません。 – Harshal

関連する問題