2016-10-13 1 views
2

Ich muss am Start Parameter an Aurelia übergeben. Abhängig von den übergebenen Werten hat die Anwendung einen unterschiedlichen Status. Diese Anwendung wird auf einer Seite eingefügt, die mit PHP erstellt wurde, so dass der beste Weg wäre, sie mit Parametern zu starten, die mit PHP-Code spezifiziert wurden. Gibt es eine Möglichkeit, dies zu tun?Aurelia, beginnend mit den von PHP übergebenen Parametern

Antwort

6

Alle Daten, auf die Sie in normalen JS zugreifen können, können Sie mit Aurelia zugreifen. Vielleicht könnten Sie dafür ein data-* Attribut verwenden? Wenn Sie eine main Datei verwenden, indem Sie aurelia-app="main", the framework instance you get passed to your configure method has a Host property that is the element the framework is being attached to. You could place data- * attributes on this element and then access them via the Datensatz 'Eigenschaft dieses Elements (IE11 + https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset).

Ihre index.html oder gleichwertige könnte so etwas wie dieses:

<body aurelia-app="main" 
     data-param1="value1" 
     data-param2="value2"> 

Ihre main.js dann können diese Werte leicht zugänglich machen:

export function configure(aurelia) { 
    aurelia.use 
    .standardConfiguration() 
    .developmentLogging(); 

    aurelia.container.registerInstance('serverData', 
    Object.assign({}, aurelia.host.dataset)) 

    aurelia.start().then(() => aurelia.setRoot()); 
} 

Hier ist ein lauffähiges Beispiel: https://gist.run/?id=55eae2944b00b11357868262e095d28c

Sie könnten Setzen Sie JSON sogar in das Datenattribut, wenn Sie einfache Anführungszeichen um den Attributwert verwenden: https://gist.run/?id=57417139aa8c0c66b241c047efddf3dd

Bearbeiten: Ich habe diese Antwort basierend auf der ähnlichen Antwort Jeremy Danyow verbessert. Beide verknüpften Inhalte wurden ebenfalls aktualisiert.

+1

ähnliche Frage/Ansatz: http://Stackoverflow.com/a/36603297/725866 –

+0

Hey, das wusste ich nicht! Normalerweise habe ich irgendwo in der Einstiegsansicht (index.html oder was auch immer) ein globales erstellt und dann verwendet, wenn Aurelia startet. Vielen Dank! –

Verwandte Themen