Alla fine di questo argomento si sarà in grado di rilasciare sulla pagina i componenti che eseguono le azioni all'interno del componente. Viene sfruttata la registrazione delle azioni creata nel passo precedente.
Affinché possa eseguire un'azione, un componente deve ascoltare il messaggio EXECUTE_ACTION
. Questo messaggio include anche il payload passato all'azione da cui verranno estratti i valori previsti.
Per ascoltare il messaggio EXECUTE_ACTION
, modificare il file render.js
e aggiornare l'oggetto SampleComponentViewModel
con l'istruzione seguente:
SitesSDK.subscribe('EXECUTE_ACTION', $.proxy(self.executeActionsListener, self));
Alla ricezione del messaggio EXECUTE_ACTION
viene eseguita la funzione callback associata:
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); } }); } }
Questo frammento di codice crea una funzione JavaScript per eseguire l'azione, quindi utilizza il kit Sites SDK per chiamare la funzione a ogni riproduzione del messaggio EXECUTE_ACTION
.
Il componente verrà chiamato a ogni riproduzione del messaggio EXECUTE_ACTION
e dipende dal componente gestire solo le azioni per le quali è stato progettato. A tale scopo è necessario verificare il nome dell'azione per assicurarsi che si tratti di un'azione che il componente è in grado di gestire.
Il payload per l'azione è un array di valori. In genere è necessario trovare i valori di payload a cui si è interessati dall'array.
Nota:
Poiché il listener dell'azione è un callback, utilizzare JavaScript Closure oppure associare in modo appropriato la funzione per garantire l'accesso a viewModel quando la funzione viene eseguita.Controllare i risultati per il passo 8
Aggiornare la pagina nel sito in modo che SiteBuilder possa selezionare le modifiche apportate al componente.
Attivare la modalità Modifica per la pagina.
Trascinare e rilasciare il componente sulla pagina.
Trascinare e rilasciare un componente Pulsante sulla pagina.
Visualizzare il pannello Impostazioni per il componente Pulsante.
Nella scheda Generale modificare l'etichetta del pulsante in Click me!.
Selezionare la scheda Collegamento nella parte superiore del pannello Impostazioni.
Selezionare Azioni trigger come tipo di collegamento.
Fare clic sul trigger Fare clic sul pulsante del componente Pulsante.
Nella finestra di dialogo espandere il componente A_Local_Component
sul lato sinistro.
Trascinare sul lato destro l'azione Aggiornare la larghezza dell'immagine dal componente A_Local_Component
.
Immettere 300 px nel campo Larghezza immagine in pixel.
Attivare la modalità Anteprima per la pagina.
Fare clic sul pulsante Click me!.
A questo punto la dimensione dell'immagine verrà aumentata a 300 px
.
Nota:
Trigger e azioni sono progettati per supportare la comunicazione tra i componenti. Non sono progettati per creare o gestire lo stato. Se si aggiorna la pagina, verrà ripristinato lo stato originale della pagina in quanto non sono stati richiamati trigger né eseguite azioni.Continuare con l'argomento Passo 9: Creare un titolo distinto per ogni istanza del componente.