Мне нужно перейти к Аурелии. В зависимости от пройденных значений приложение будет иметь разное состояние. Это приложение вводится на страницу, которая создается с помощью PHP, поэтому лучший способ – начать с параметров, заданных с помощью PHP-кода. Есть какой-либо способ сделать это?
Любые данные, которые вы можете получить в обычном JS, вы можете получить с Aurelia. Может быть, вы можете использовать атрибут data-*
для этого? Когда вы используете main
файл, aurelia-app="main", the framework instance you get passed to your configure method has a
property that is the element the framework is being attached to. You could place
хоста, property that is the element the framework is being attached to. You could place
property that is the element the framework is being attached to. You could place
attributes on this element and then access them via the
data- * attributes on this element and then access them via the
свойство dataset` этого элемента (IE11 + https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset ).
У вашего index.html
или эквивалента может быть что-то вроде этого:
<body aurelia-app="main" data-param1="value1" data-param2="value2">
main.js
ваши main.js
могут легко получить доступ к этим значениям:
export function configure(aurelia) { aurelia.use .standardConfiguration() .developmentLogging(); aurelia.container.registerInstance('serverData', Object.assign({}, aurelia.host.dataset)) aurelia.start().then(() => aurelia.setRoot()); }
Ниже приведен пример выполнения: https://gist.run/?id=55eae2944b00b11357868262e095d28c
Вы даже можете поместить JSON в атрибут data, если вы используете одиночные кавычки вокруг значения атрибута: https://gist.run/?id=57417139aa8c0c66b241c047efddf3dd
Изменить: я улучшил этот ответ, основываясь на аналогичном ответе Джереми Данью. Также были обновлены оба связанных набора.