Lyssna efter en modellhändelse
I den här genomgången får du se hur det fungerar att lyssna efter en händelse som ändrar en egenskap.
Modellhändelser
I systemdesignern kan du lyssna efter ändringar av en egenskap eller i en grupp (t.ex. objekt läggs till / tas bort).
Definiera ditt system
Skapa först ett schema som:
- har namnet Person
- har name som egenskap
{
"_id": "bd8493b0-6e56-4ac3-b008-d5d0b2cf5a71",
"_name": "Person",
"_inherit": [
"_Component"
],
"name": "property"
}
- skapa sedan en komponent,
- klicka på komponenten för att ändra den,
- ändra värdet på _id till luke,
{
"_id": "luke",
"name": ""
}
- redigera sedan start-funktionen i ditt system och
- lägg till denna kod:
function start() {
// hämta komponenten luke
let luke = this.require('luke');
// sätt egenskapen name i komponenten till luke
luke.name('luke');
}
Lyssna efter egenskaps-ändringar
- på Beteenden fliken, klicka på Person modellen (på höger sida under Modeller),
- klicka på + knappen i det vänstra verktygsfältet för att lägga till ett nytt beteende,
- en dialogruta visas,
- välj name och klicka på Skapa -knappen,
- ett beteende är nu skapat,
- klicka på komponenten för att ändra den,
- lägg till denna kod:
function name(value) {
// hämta loggnings komponenten
let logger = this.require('logger');
// logga följande när egenskapen name i en komponent ändras
logger.info('component ' + this.id() + ' has for new name ' + value);
}
- spara. Därefter,
- kör ditt system.
Du kommer att se ett meddelande som berättar att egenskapen för komponenten har ändrats.