我有一个简单的角度路由模块,如下所示:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomeComponent } from './../../home/home.component';
import { LoginComponent } from './../../login/login.component';
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'login',
component: LoginComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
每当我打开页面时,HomeComponent都会被加载。一切正常,直到我切换到登录页面。它们都有一些与javascript一起使用的部分。我在.angular-cli.json文件中添加了那些。
如果我使用以下按钮切换到登录页面:
<li class="active"><a routerLink="">Home</a></li>
这些功能似乎都不起作用,每当我切换回主页组件时,之前工作的功能也不会在这里工作。
到目前为止,我发现脚本加载一次,因为主应用程序是使用“eager loading”加载的,而compontens使用“延迟加载”。
有没有办法再次加载脚本或任何其他方法来解决这个问题?
答案 0 :(得分:0)
我设法通过使用下一页中给出的解决方案来解决问题:
how to load js on component level in angular 4. I don't want to load all js file at app startup
由米拉德提供。