Я новичок в Aurelia (но старый в Angular) и пытаюсь реализовать конфигурацию маршрутизации в моем первом приложении.Я настроил маршрут в app.js следующим образом:
configureRouter(config, router) {
RoutingHelper.exerciseOneRouteConfig(this, config, router);
}
, а вспомогательная функция записана в отдельном файле:
routing_helper.js
import {
PLATFORM
} from 'aurelia-pal';
export class RoutingHelper {
static exerciseOneRouteConfig(self, config, router) {
self.router = router;
config.title = 'تمرین ۱';
config.map([{
route: ['', 'home'],
name: 'home',
moduleId: PLATFORM.moduleName('app/index'),
title: 'خانه',
nav: true
},
{
route: ['account'],
name: 'account',
moduleId: PLATFORM.moduleName('app/account/index'),
title: 'حساب کاربری',
nav: true
},
{
route: ['profile'],
name: 'profile',
moduleId: PLATFORM.moduleName('app/account/profile/index'),
title: 'پروفایل کاربر',
nav: false
},
{
route: ['signup'],
name: 'signup',
moduleId: PLATFORM.moduleName('app/account/signup/index'),
title: 'ثبت نام',
nav: false
},
{
route: ['signin'],
name: 'signin',
moduleId: PLATFORM.moduleName('app/account/signin/index'),
title: 'ورود کاربر',
nav: false
},
{
route: ['changepass'],
name: 'changepass',
moduleId: PLATFORM.moduleName('app/account/signin/changepass'),
title: 'تغییر کلمه عبور',
nav: false
},
]);
}
}
Теперь в модуле доступа я могу получить доступ к объекту маршрутизатора, а в его html я могу выполнять навигацию и печатать модель навигации.
В дочерних компонентах (других страницах) использование директив html работает нормально, но объект маршрутизатора недоступен из ихJS файлы.Например, в «app / account / signin / index.js» я хочу использовать эту функцию:
this.router.navigateToRoute('profile');
, но маршрутизатор не определен для этого.