Javascript, загруженный через angular-cli.json, не доступен на странице после навигации - PullRequest
0 голосов
/ 15 января 2019

Я использую прототип, разработанный в формате html, с использованием пользовательских js, jquery, bootstrap в угловых приложениях. Загружен весь необходимый css и javascript через угловой CLI. JSON. Каждая страница хорошо открывается, если она загружается отдельно в рамках проекта Angular 7. Второй этап. Затем я настраиваю следующее, чтобы использовать прототип в формате макета для приложения.

  1. Разработан MainLayout [включает headerTop, headerNav и нижний колонтитул, а также выход маршрутизатора для загрузки других страниц, которые будут поступать из избранных модулей.]. Этот MainLayout загружен в розетку маршрутизатора корневого уровня.

  2. HmComponent имеет содержимое домашней страницы, которое загружается в роутер MainLayout. И он загружается вместе с MainLayout. И MainLayoutComponent, и HmComponent настроены для загрузки в корневой каталог по умолчанию и являются частью основного модуля. Они тоже работают нормально. На этом этапе JS, необходимый для содержимого домашней страницы и содержимого MainLayout, доступен и работает хорошо.

  3. Теперь я перехожу на другие страницы, а именно. AboutUsLink, который является частью рекомендуемого модуля и загружается лениво.

    HomeLink О насСсылкаКонтактыСсылка OtherLink

  4. Страница хорошо загружается с помощью css, но js, требуемые на этой странице, недоступны, тогда как я уже загрузил js по всему миру.

  5. Наконец, я снова возвращаюсь на домашнюю страницу через 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 },

];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...