导航后无法在页面上访问通过angular-cli.json加载的Javascript

时间:2019-01-15 13:48:36

标签: angular typescript routing loading

我正在使用在Angular应用程序中使用自定义js,jquery,bootstrap的html设计的原型。通过angular CLI加载了所有必需的CSS和javascript。 json。如果分别在angular 7项目中加载,则每个页面都可以很好地打开。 第二阶段:之后,我将配置以下内容以在应用程序中以布局格式使用原型。

  1. 设计了MainLayout [具有headerTop,headerNav和footer,以及用于加载其他来自特色模块的页面的路由器插座。]此MainLayout已加载到根级路由器出口中。

  2. HmComponent具有主页内容,该内容正在加载到MainLayout的路由器出口中。并且正在与MainLayout一起加载。 MainLayoutComponent和HmComponent都已​​配置为在默认根目录上加载,它们都是Main模块的一部分。他们也很好。在此阶段,主页内容和MainLayout内容所需的JS可用并且运行良好。

  3. 现在,我导航至其他页面。 AboutUsLink是功能模块的一部分,并且延迟加载。

    HomeLink AboutUsLink ContactUsLink OtherLink

  4. 该页面的CSS加载情况良好,但是此页面上所需的js不可用,而我已经全局加载了js。

  5. 最后,我再次通过HomeLink从此功能模块页面AboutUsLink返回主页,该主页再次加载了这里需要的所有CSS;但是没有加载js,而js是在第一次加载应用程序时加载的。

    我添加了一个主路由器和一个公共路由器代码,用于查找我做错的任何事情。该路由器可用于顶层路由以及特色模块路由。我对通过Augury(Chrome的一项附加功能)生成的路由器树进行了交叉检查。

备注:在导航的任何阶段,如果js不可用,则刷新页面使其恢复原状,并且与js相关的东西将开始正常工作。似乎正在发生覆盖。

预先感谢您对我的问题发表评论或提供具体解决方案。

从理论上讲,应将此父级中加载的JS对其子级组件可用,因为这种理念适用于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 #

const路由:路由= [

  { 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 },

];

0 个答案:

没有答案