2

私はextjs4で働いています。別のメンバー関数 (showSubject) 内でメンバー関数 (hellotest) を呼び出すにはどうすればよいですか?

(関数の一部である)hellotesttabchangeイベントでの呼び出しを追加しようとしています。これを使用して関数呼び出しのスコープを使用しようとしましたが、これは機能せず、次のエラーが発生しました。subjectBarshowSubjectobject[object object] error undefined function

ここに私のいくつかのコードがあります:

Ext.define('Am.DnycontentcategoriesController', {
    extend: 'Ext.app.Controller',

    init: function () {

        this.control({
            //'viewport > panel >Contentcategories':
            'Contentcategories': {
                render: this.showSubject,
            }
        });
    },
    hellotest: function () {
        console.log("inside hello test function");
    },


    showSubject: function () {
        //console.log(this.hellotest());
        subjectBar.on('tabchange', function () {
            //here I am getting error 
            this.hellotest();
            var tab = subjectBar.getActiveTab();
            --------

        });
    },
4

1 に答える 1

4

を に設定scopethisます。

showSubject: function () {
    subjectBar.on('tabchange', function () {
        this.hellotest();
        var tab = subjectBar.getActiveTab();
    }, this);
}

ハンドラー関数が実行されるスコープ (この参照)。デフォルトはElement

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.EventManager-method-on

于 2013-03-04T14:37:48.360 に答える