Voit määrittää komponentin hyödyntämään toiminnon rekisteröintiä siten, että kun komponentti pudotetaan sivulle, sivu suorittaa toimintoja komponentissa.
Toimien rekisteröinti
Toimia kutsutaan komponenteille, kun herättimet käynnistyvät. Komponentti voi rekisteröidä rajoittamattoman määrän toimintoja. Se voi myös määrittää, mitä tietoja toiminto tukee. Kun käyttäjä valitsee toiminnon, hän voi toimittaa toiminnolle välitettävät tiedot.
Voit rekisteröidä komponenttisi tukemat toimet teemasi appinfo.json
-rekisteröintitiedoissa samalla tavalla kuin herättimet rekisteröidään.
Esimerkki toiminnon rekisteröinnistä:
appinfo.json
-tiedostoa ja päivitä "actions":[],
-merkintä.
"actions": [{ "actionName": "helloWorldChangeWhoIAm", "actionDescription": "Change Who I Am", "actionPayload": [{ "name": "whoAreYou", "description": "Who are you?", "type": { "ojComponent": { "component": "ojInputText"} }, }, "value": "" }] }]
Kun toiminto on rekisteröity, se näytetään toimintovalintaikkunassa. Valintaikkunan voi avata napsauttamalla herätintä komponentin asetuspaneelin Linkki-välilehdessä.
Toimien suoritus
Kun toiminto on rekisteröity, voit pudottaa komponentteja sivulle, joka suorittaa toimintoja komponentissa. Komponentin on kuunneltava EXECUTE_ACTION
-sanomaa, jotta se voisi suorittaa toiminnon. Sanoma sisältää myös toimeen välitetyt tiedot, joista on poimittava odotetut arvot.
EXECUTE_ACTION
-sanoman kuunneltavaksi muokkaamalla render.js
-tiedostoa ja päivittämällä seuraavat merkinnät ViewModel
-objektiin:
self.executeActionListener = function (args) { // get action and payload var payload = $.isArray(args.payload) ? args.payload[0] : {}, action = args.action, actionName = action && action.actionName; // handle 'helloWorldChangeWhoIAm' actions if ((actionName === 'helloWorldChangeWhoIAm') && (payload.name === 'whoAreYou')) { self.whoAreYou(payload.value); } };
Tämä luo JavaScript-funktion toiminnon suoritusta varten ja kutsuu sitten funktiota sivustojen SDK:n avulla aina, kun EXECUTE_ACTION
-sanoma lähetetään.
Toimintoa kutsutaan aina, kun EXECUTE_ACTION
-sanoma lähetetään. Komponentin on itse huolehdittava siitä, että se käsittelee vain toiminnot, jotka se on suunniteltu käsittelemään. Jotta näin kävisi, toiminnon nimi on tarkistettava, jotta voidaan varmistaa, että se voidaan käsitellä.
Toiminnon tiedot muodostavat arvojen taulukon. Tässä esimerkissä oletetaan, että arvo on taulukon ensimmäinen merkintä. Yleensä huomioitavat tietojen arvot on etsittävä taulukosta.
Huomautus::
Koska toimien kuuntelija on vastakutsu, varmista, ettäViewModel
on käytettävissä, kun funktio suoritetaan. Voit tehdä tämän käyttämällä JavaScript-sulkeumaa tai sitomalla funktion asianmukaisesti.