我正在使用https://github.com/InfomediaLtd/angular2-materialize构建一个应用程序,并且在任何类型的页面路由后遇到问题。在我用以下内容更改页面后,似乎根本没有调用任何类型的Materialism.js: this.router.navigate([ 'XXXXX']。 对我来说,这不适用于模态,全屏图像缩放,选项卡和自动完成。 (但我怀疑任何materialize.js都不起作用)
作为补充说明:如果我刷新我已路由到的页面,那么materialize.js功能将按预期工作。
使用代码示例进行更新
import {ActivatedRoute, Router} from "@angular/router";
...
constructor(private router: Router) {}
...
// after this call is made, all materialize javascript features are lost on the resulting page
this.router.navigate(['/add', add.id]);
routes.ts
export const routes: Routes = [
{
path: '',
component: MainComponent
},
{
path: 'add/:id',
component: AddComponent,
children: [
{ path: '', redirectTo: 'first' },
{ path: 'first', component: FirstComponent },
{ path: 'second', component: SecondComponent },
]
}
];
答案 0 :(得分:0)
我遇到了同样的情况,虽然设法通过在routerLink上使用jquery重新加载整个页面点击
在您的组件中
<a [routerLink]="['link2']" class="linkReload">
创建一个js文件并添加以下代码(添加jquery)
$('.linkReload').click(function () {
location.reload();
});
NB 如果Angular在重新加载时显示404错误 将bolow行导入app.module.ts
import { HashLocationStrategy, LocationStrategy } from '@angular/common';
将此添加到app.module.ts
中的提供者{provide: LocationStrategy, useClass: HashLocationStrategy}