ExtJS вызывает функцию другого компонента

1

Я создал компонент Ext.Mixin и хотел бы вызвать его функцию из другого компонента. Как мне это сделать? Должно быть очень очевидно, но я не могу видеть прямо сейчас.

РЕДАКТИРОВАТЬ:

Ext.define('ABC.mixin.MyMixin', {
    extend: 'Ext.Mixin',

    mixinConfig: {
        after: {
        },
        before: {
            initComponent: 'init'
        }
    },

    init: function () {
        let me = this;
        myfunction();
    },

    myfunction: function () {
        //do stuff
    }
}

Как мне позвонить myfunction()?

  • 0
    Опубликуйте, какой у вас код и что вы уже пробовали.
  • 0
    Я обновил вопрос. Любой совет сейчас?
Теги:
extjs

2 ответа

1

Когда вы включаете mixin в компонент, все функции, предлагаемые mixin, включаются в сам компонент. Поэтому, когда у вас есть ссылка на созданный компонент, вы не можете вызвать функцию на самом компоненте.

Ext.define('ABC.mixin.MyMixin', {
    extend: 'Ext.Mixin',
    myfunction: function () {
        //do stuff
    }
});

Ext.define('ABC.view.MyView', {
    mixins: ['ABC.mixin.MyMixin'],
   // ...other config stuff
});

let myView = Ext.create('ABC.view.MyView');  // concreate Object of the class ABC.view.MyView
myView.myfunction();  // we can call the function of the mixin on the Object directly.

Для получения дополнительной информации см. Документацию ExtJs

0

Документы API, похоже, предоставляют необходимую вам информацию. Вы просто включаете свой микшинг в компонент, который вам нужен, например:

Ext.define('ABC.view.MyComponent', {
       mixins: ['ABC.mixin.MyMixin'],

       initComponent() {
           this.myfunction();
           this.callParent();
       }
   });

И из области компонента вызовите функции mixin, которые вам нужны

Ещё вопросы

Сообщество Overcoder
Наверх
Меню