Na konci tohoto tématu budete umět umístit na stránku komponenty, které budou spouštět akce ve vaší komponentě. K tomu je využívána registrace akcí, kterou jste vytvořili v předchozím kroku.
Komponenta může provést akci, pouze pokud sleduje zprávu EXECUTE_ACTION
. Tato zpráva také obsahuje datovou část, která bude předána akci, z níž budete extrahovat očekávané hodnoty.
Chcete-li sledovat zprávu EXECUTE_ACTION
, upravte soubor render.js
a aktualizujte objekt SampleComponentViewModel
následující položkou:
SitesSDK.subscribe('EXECUTE_ACTION', $.proxy(self.executeActionsListener, self));
Po přijetí zprávy EXECUTE_ACTION
bude spuštěna přiřazená funkce zpětného volání:
self.executeActionsListener = function (args) { // get action and payload var payload = args.payload, action = args.action; // handle 'setImageWidth' actions if (action && action.actionName === 'setImageWidth') { $.each(payload, function(index, data) { if (data.name === 'imageWidth') { self.imageWidth(data.value); } }); } }
Tím dojde k vytvoření funkce jazyka JavaScript pro provedení akce a poté k použití sady SDK pro weby k volání funkce při každém vyvolání zprávy EXECUTE_ACTION
.
Komponenta bude volána při každém vyvolání zprávy EXECUTE_ACTION
a je na komponentě, aby zpracovala pouze ty akce, které mají být zpracovány. K tomu je nutné zkontrolovat název akce, a ujistit se tak, že se jedná o akci, kterou může komponenta zpracovat.
Datová část pro akci je pole hodnot. Obvykle bude potřebné vyhledat v poli hodnoty datové části, na kterých vám záleží.
Poznámka:
Vzhledem k tomu, že služba listener akce je zpětné volání, měli byste použít uzávěr jazyka JavaScript nebo náležitě svázat funkci, abyste měli při provádění funkce přístup k objektu viewModel.Kontrola výsledků pro krok 8
Aktualizujte svou stránku na webu, aby nástroj Site Builder mohl provést změny komponenty.
Uveďte stránku do režimu úprav.
Přetáhněte svou komponentu na stránku.
Přetáhněte komponentu tlačítko na stránku.
Vyvolejte panel Nastavení pro komponentu tlačítko.
Na kartě Obecné změňte popisek tlačítka na Klikněte na mě!
Vyberte kartu Propojení u horního okraje panelu Nastavení.
Pro položku Typ propojení vyberte volbu Akce triggeru.
Klikněte na trigger Kliknutí na tlačítko pro komponentu tlačítko.
V dialogovém okně rozbalte na levé straně komponentu A_Local_Component
.
Přetáhněte akci Aktualizovat šířku obrázku z komponenty A_Local_Component
na pravou stranu.
Do pole Šířka obrázku v pixelech zadejte hodnotu 300 pixelů.
Přepněte stránku do režimu Náhled.
Klikněte na tlačítko Klikněte na mě!.
V tomto okamžiku se velikost obrázku zvýší na 300 pixelů
.
Poznámka:
Triggery a akce jsou navrženy tak, aby podporovaly komunikaci mezi komponentami. Nejsou určeny k vytváření ani správě stavu. Pokud stránku aktualizujete, vrátí se do původního stavu, jako kdyby nebyly vyvolány žádné triggery ani spuštěny žádné akce.Pokračujte částí Krok 9: Vytvoření odlišného názvu pro každou instanci komponenty.