logologo
Start
Handbuch
Entwicklung
Plugins
API
Startseite
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Start
Handbuch
Entwicklung
Plugins
API
Startseite
logologo
RunJS Übersicht
Module importieren
Rendern im Container

Globale Variablen

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Previous Pagectx.libs
Next Pagectx.logger
KI-Übersetzungshinweis

Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.

#ctx.location

Aktuelle Informationen zum Routen-Standort, äquivalent zum location-Objekt von React Router. Es wird normalerweise in Verbindung mit ctx.router und ctx.route verwendet, um den aktuellen Pfad, den Abfragestring (Query String), den Hash und den über die Route übergebenen Status (State) zu lesen.

#Anwendungsfälle

SzenarioBeschreibung
JSBlock / JSFieldDurchführung von bedingtem Rendering oder Logik-Verzweigungen basierend auf dem aktuellen Pfad, den Abfrageparametern oder dem Hash.
Verknüpfungsregeln / EreignisflussLesen von URL-Abfrageparametern für Verknüpfungsfilter oder Bestimmung der Quelle basierend auf location.state.
Verarbeitung nach der NavigationEmpfangen von Daten, die von der vorherigen Seite über ctx.router.navigate übergeben wurden, mithilfe von ctx.location.state auf der Zielseite.

Hinweis: ctx.location ist nur in RunJS-Umgebungen mit einem Routing-Kontext verfügbar (z. B. JSBlock innerhalb einer Seite, Ereignisfluss usw.); in reinen Backend- oder Nicht-Routing-Kontexten (wie Workflows) kann es null sein.

#Typdefinition

location: Location;

Location stammt aus react-router-dom und entspricht dem Rückgabewert von useLocation() in React Router.

#Gängige Felder

FeldTypBeschreibung
pathnamestringDer aktuelle Pfad, beginnend mit / (z. B. /admin/users).
searchstringDer Abfragestring, beginnend mit ? (z. B. ?page=1&status=active).
hashstringDas Hash-Fragment, beginnend mit # (z. B. #section-1).
stateanyBeliebige Daten, die über ctx.router.navigate(path, { state }) übergeben wurden und nicht in der URL erscheinen.
keystringEine eindeutige Kennung für diesen Standort; die Startseite ist "default".

#Beziehung zu ctx.router und ctx.urlSearchParams

VerwendungszweckEmpfohlene Verwendung
Pfad, Hash, State lesenctx.location.pathname / ctx.location.hash / ctx.location.state
Abfrageparameter lesen (als Objekt)ctx.urlSearchParams, stellt das analysierte Objekt direkt bereit.
Search-String analysierennew URLSearchParams(ctx.location.search) oder direkt ctx.urlSearchParams verwenden.

ctx.urlSearchParams wird aus ctx.location.search analysiert. Wenn Sie nur Abfrageparameter benötigen, ist die Verwendung von ctx.urlSearchParams bequemer.

#Beispiele

#Verzweigung basierend auf dem Pfad

if (ctx.location.pathname.startsWith('/admin/users')) {
  ctx.message.info('Aktuell auf der Benutzerverwaltungsseite');
}

#Abfrageparameter analysieren

// Methode 1: Verwendung von ctx.urlSearchParams (Empfohlen)
const page = ctx.urlSearchParams.page || 1;
const status = ctx.urlSearchParams.status;

// Methode 2: Verwendung von URLSearchParams zum Analysieren von search
const params = new URLSearchParams(ctx.location.search);
const page = params.get('page') || '1';
const status = params.get('status');

#Empfangen von Status-Daten aus der Routen-Navigation

// Beim Navigieren von der vorherigen Seite: ctx.router.navigate('/users/123', { state: { from: 'dashboard' } })
const prevState = ctx.location.state;
if (prevState?.from === 'dashboard') {
  ctx.message.info('Vom Dashboard navigiert');
}

#Anker über Hash lokalisieren

const hash = ctx.location.hash; // z. B. "#edit"
if (hash === '#edit') {
  // Zum Bearbeitungsbereich scrollen oder entsprechende Logik ausführen
}

#Verwandte Themen

  • ctx.router: Routen-Navigation; der state von ctx.router.navigate kann über ctx.location.state auf der Zielseite abgerufen werden.
  • ctx.route: Informationen zur aktuellen Routen-Übereinstimmung (Parameter, Konfiguration usw.), oft in Verbindung mit ctx.location verwendet.