路由后角度2物化问题

时间:2016-11-28 21:49:52

标签: angular typescript

我正在使用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 },
    ]
  }
];

1 个答案:

答案 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}