Я использую прототип, разработанный в формате html, с использованием пользовательских js, jquery, bootstrap в угловых приложениях. Загружен весь необходимый css и javascript через угловой CLI. JSON. Каждая страница хорошо открывается, если она загружается отдельно в рамках проекта Angular 7.
Второй этап. Затем я настраиваю следующее, чтобы использовать прототип в формате макета для приложения.
Разработан MainLayout [включает headerTop, headerNav и нижний колонтитул, а также выход маршрутизатора для загрузки других страниц, которые будут поступать из избранных модулей.]. Этот MainLayout загружен в розетку маршрутизатора корневого уровня.
HmComponent имеет содержимое домашней страницы, которое загружается в роутер MainLayout. И он загружается вместе с MainLayout. И MainLayoutComponent, и HmComponent настроены для загрузки в корневой каталог по умолчанию и являются частью основного модуля. Они тоже работают нормально. На этом этапе JS, необходимый для содержимого домашней страницы и содержимого MainLayout, доступен и работает хорошо.
Теперь я перехожу на другие страницы, а именно. AboutUsLink, который является частью рекомендуемого модуля и загружается лениво.
HomeLink О насСсылкаКонтактыСсылка OtherLink
Страница хорошо загружается с помощью css, но js, требуемые на этой странице, недоступны, тогда как я уже загрузил js по всему миру.
Наконец, я снова возвращаюсь на домашнюю страницу через HomeLink со страницы этого популярного модуля. AboutUsLink, дом снова загружается со всеми css, восстановленными здесь; но не загружены файлы js, которые были загружены ранее при первой загрузке приложения.
Я добавил основной маршрутизатор и общедоступный код маршрутизатора, чтобы найти все, что я сделал не так. Маршрутизатор работает хорошо как для маршрутизации на высшем уровне, так и для маршрутизации по избранным модулям. Я сделал перекрестную проверку дерева маршрутизатора, созданного с помощью Augury, дополнительной функции Chrome.
Примечание: на любом этапе навигации, если js недоступен, обновление страницы возвращается, и js-вещи начинают работать хорошо. Кажется, происходит некоторая перезапись.
Заранее спасибо за комментарий или конкретное решение моей проблемы.
Теоретически, такой JS, загруженный в parent, должен быть доступен его дочерним компонентам, поскольку эта философия работает для глобальной загрузки js.
Both the routers I am using for configuration have been pasted here.
# app.router.ts #
const routes: Routes = [
{ path: '', component: MainLayoutComponent,// will be loaded as default.
children: [
{ path: '', component: HmComponent }, //load home page
{ path: 'hm', redirectTo: '' },
//Now load its child router module
{ path:"pub",loadChildren:'./public/public.module#PublicModule",data: { preload: true } },
]
},
{ path: 'hm', redirectTo: '' },//redirect to root
];
# public.module.router.ts #
постоянные маршруты: маршруты = [
{ path: 'aboutus', component: AboutUsComponent },
{ path: 'contactus', component: ContactUsComponent },
{ path: 'listings', component: ProviderSearchComponent },
{ path: 'categories', component: ProviderCategorySearchComponent },
{ path: 'providers', component: ProviderDetailsComponent },
{ path: 'blogdetail', component: BlogdetailComponent },
{ path: 'bloglistings', component: BloglistComponent },
{ path: 'bloggrid', component: BloggridComponent },
{ path: 'loginreg', component: LoginRegFgtPwdComponent },
];