Как вручную вызвать просмотр уведомлений об изменении элемента модели - PullRequest
0 голосов
/ 29 мая 2019

Существует специальный компонент ExtJS с контроллером, представлением и моделью в своих собственных классах.Модель представления выглядит следующим образом:

Ext.define( 'SomeEditorViewModel', {
  extend    : 'Ext.app.ViewModel',
  alias     : 'someeditor',

  data      : {
    quote               : 10,
    bookmark            : 20,
    group               : 300,
    validity            : Ext.Date.today(),
    equipment           : []
  },
  formulas : {
    // etc.
  }

В контроллере есть несколько подписок «при изменении», связанных с конкретными частями объекта «данные».Помимо этого есть вложенные пользовательские компоненты, не перечисленные здесь, которые также подписаны на уведомления об изменениях, выпущенные владельцем-компонентом.

Иногда мне нужно вызвать все обработчики, скажем, значения 'group', чтобы все подписки выполнялись без фактического изменения значения 'group', оно должно оставаться тем, чем оно является.

Возможно ли это?

1 Ответ

0 голосов
/ 12 июня 2019

Вы можете запустить свое собственное «обновление» - событие:

Ext.GlobalEvents.fireEvent('groupRefresh');

В вашем контроллере компонентов добавьте следующее:

Ext.define('Frontend.view.main.CustomComponent',
{
    extend: 'Ext.app.ViewController',

    listen: {
        global: {
            groupRefresh: 'onGroupRefresh',
        }
    }

    onGroupRefresh: function() {
      //call multiple handlers, update components, etc...
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...