2016-04-25 53 views
0

我打開從dojo小部件的子窗口,關閉子窗口我需要調用父窗口dojo小部件功能。需要調用正常的dojo小部件功能javascript

是否可以從普通的javascript調用dojo小部件功能。如果可能請分享代碼片段。

+0

這是可能的,但如果你不提供一個小的測試用例,它將很難顯示你 – ben

回答

0

可以使用註冊表在應用程序的其餘部分中調用特定的dijit小部件。

您可以使用它需要模塊dijit/registrymore info here)。

.byId()函數將基本上從註冊表中獲取對小部件的引用。

之後,你可以調用你的功能的部件對象。

僞代碼下面的例子:

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

請考慮在你的問題中添加最小的測試案例,所以我們可以發佈更具體的答案。

+0

首先感謝您的回覆。子窗口應用程序正在使用正常的JavaScript.I認爲上述代碼將在dojo環境中工作。 –

+0

爲了在小部件上調用方法,您需要獲取它。您可以考慮從父窗口公開'dijit/registry',以便它可以在子窗口中使用。因此,您可以在子窗口中運行registry.byId(),以實際引用在父級啓動的小部件。我希望它有幫助。 – GibboK