Ответ 1
(Пожалуйста, не стесняйтесь сообщать об этом сообществу, помогая)
Загрузка модуля
-
Aurelia поддерживает использование модулей AMD и require.js в качестве загрузчика модулей. Если вы используете require.js с Durandal и хотите преобразовать свои модули в Aurelia, они должны быть почти одинаковыми, в зависимости от любых будущих изменений require.js.
-
Обратные вызовы жизненного цикла остаются теми же значениями, что
activate
,attached
,detached
,deactivate
,canActivate
,canDeactivate
, и любые другие должны оставаться неизменными. Они также по-прежнему соглашаются с возвращением обещания. -
Если вы решите не придерживаться require.js, вы можете конвертировать модули AMD из формата AMD в формат ES6+. Для этого требуется удалить первую или две строки последней строки в модуле AMD и заменить ее экспортом класса, подобным этому -
define([], function (){ // stuff ]);
становится
import {inject} from 'aurelia-framework'; @inject() export class TheClassName{ // stuff }
Если инъекционная деталь представляет собой систему aurelia DI.
привязки данных
-
Aurelia предоставляет разработчику возможность использовать любые библиотеки привязки данных, которые вы хотите, включая, но не ограничиваясь, значения по умолчанию
aurelia-binding
,handlebars
,knockout
и т.д. -
Некоторые из этих библиотек могут по-прежнему нуждаться в плагинах для правильного обновления при изменении значений, но это незавершенный процесс, чтобы найти, что делать. Если вы используете Durandal 2.1 и
knockout
, рекомендуется оставить привязку данных на месте как есть, и поэтапный подход к обновлению - по одной модели представления за раз. Это незавершенное производство и будет объяснено, что лучше двигаться вперед -
Связывание данных Aurelia пытается использовать новейшие технологии, но будет изящно отходить от грязной проверки. Это позволяет разработчику строить в будущем, но поддерживать настоящее.