2016-04-25 2 views
0

Я открываю дочернее окно из виджета dojo, по закрытию дочернего окна мне нужно вызвать функцию виджета dojo-родительского окна.Нужно вызвать функцию виджетов dojo из обычного javascript

можно вызвать функцию виджетов dojo из обычного javascript. если возможно, поделитесь фрагментом кода.

+0

это возможно, но если вы не предоставите небольшой тестовый пример, вам будет сложно показать вам – ben

ответ

0

Можно использовать реестр для вызова определенного виджета dijit в остальной части вашего приложения.

Для этого вы можете использовать модуль dijit/registry (more info here).

Функция .byId() в основном получит ссылку на виджет из реестра.

После этого вы можете вызвать свою функцию на объекте виджета.

Пример из псевдо-код ниже:

require(['dijit/registry'], function(registry){ 
    var widget = registry.byId('yourWidget'); 
    widget.callYourFunction(); 
}) 

Пожалуйста, рассмотрите возможность добавления минимального тестового случая в вашем вопросе, так что мы можем опубликовать более конкретный ответ.

+0

Первое спасибо за ваш ответ. Приложение дочернего окна использует обычный JavaScript. Я думаю, что вышеуказанный код будет работать в среде dojo. –

+0

Чтобы вызвать метод на виджете, вам нужно его получить. Вы можете подумать о том, чтобы публиковать «dijit/registry» из родительского окна, чтобы оно было доступно дочернему окну. Таким образом, вы можете запустить registry.byId() в дочернем окне, чтобы фактически ссылаться на ваш виджет, инициированный родителем. Я надеюсь, что это помогает. – GibboK

Смежные вопросы