mirror of
https://github.com/noodlapp/noodl-docs.git
synced 2026-01-11 23:02:54 +01:00
fix: SEO javascript references (#35)
This commit is contained in:
88
javascript/reference/events/README.md
Normal file
88
javascript/reference/events/README.md
Normal file
@@ -0,0 +1,88 @@
|
||||
---
|
||||
hide_title: true
|
||||
hide_table_of_contents: true
|
||||
title: Noodl.Events
|
||||
---
|
||||
|
||||
# Noodl.Events
|
||||
|
||||
**Only available on the frontend**
|
||||
This is the Noodl event emitter, you can use it to receive and send events from your scripts. You can learn more about events in the [guide](/docs/guides/business-logic/events).
|
||||
|
||||
<div className="ndl-image-with-background xl">
|
||||
|
||||

|
||||
|
||||
</div>
|
||||
|
||||
#### **`Noodl.Events.emit(eventName, data)`**
|
||||
|
||||
Send an event. Works well together with _Event Receivers_.
|
||||
|
||||
```javascript
|
||||
Noodl.Events.emit("event name", {
|
||||
value: "hello",
|
||||
someOtherValue: 100,
|
||||
});
|
||||
```
|
||||
|
||||
#### **`Noodl.Events.on(eventName, callback(data))`**
|
||||
|
||||
#### **`Noodl.Events.once(eventName, callback(data))`**
|
||||
|
||||
Receive an event. Works together with _Event Senders_
|
||||
|
||||
```javascript
|
||||
Noodl.Events.on("event name", function (eventData) {
|
||||
console.log(eventData.value);
|
||||
});
|
||||
```
|
||||
|
||||
#### **`Noodl.Events.off(eventName, callback(data))`**
|
||||
|
||||
Remove an event handler.
|
||||
|
||||
```javascript
|
||||
function onEventName(eventData) {
|
||||
console.log(eventData.value);
|
||||
}
|
||||
|
||||
Noodl.Events.on("event name", onEventName);
|
||||
Noodl.Events.off("event name", onEventName);
|
||||
```
|
||||
|
||||
## Features
|
||||
|
||||
### Listen to Page Router navigation
|
||||
|
||||
Here is an example of how you can listen to the Page Router navigation events.
|
||||
|
||||
```js
|
||||
Script.Outputs = {
|
||||
Navigated: "signal",
|
||||
};
|
||||
|
||||
function onNavigated({
|
||||
// The name of the router for example 'Main'.
|
||||
routerName,
|
||||
// The relative path on this page router.
|
||||
// To get the fullpath, use `window.location.pathname`.
|
||||
path,
|
||||
title,
|
||||
// The component name for example '/Pages/MyPage'.
|
||||
// (this is a page in the 'Pages' folder)
|
||||
component
|
||||
}) {
|
||||
Script.Outputs.Navigated();
|
||||
}
|
||||
|
||||
Script.Signals.DidMount = function () {
|
||||
Noodl.Events.on("NoodlApp_Navigated", onNavigated);
|
||||
};
|
||||
|
||||
// OnDestroy is called when the Script node is unmounted.
|
||||
// Where we do some cleanup to remove the event listener.
|
||||
Script.OnDestroy = function () {
|
||||
Noodl.Events.off("NoodlApp_Navigated", onNavigated);
|
||||
};
|
||||
```
|
||||
Reference in New Issue
Block a user