2016-11-28 2 views
0

Ich baue eine Anwendung mit der https://github.com/InfomediaLtd/angular2-materialize und läuft auf ein Problem nach jeder Art von Seitenrouting. Es scheint, dass jede Art von Materialism.js überhaupt nicht aufgerufen wird, nachdem ich die Seiten gewechselt habe mit: this.router.navigate (['xxxxx']. Für mich funktioniert das nicht für ein Modal, das Vollbild Zoom, die Tabs und die Autovervollständigung. (Aber ich vermute, dass materialize.js nicht funktioniert)Angular 2 Materialize Problem nach dem Routing

Als zusätzliche Anmerkung: Wenn ich die Seite aktualisieren, die ich weitergeleitet habe, funktionieren die materialize.js Funktionen wie erwartet.

Aufrüsten Codebeispiel

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

Wenn wir Lasten jeder Router Seite wieder, dann Konzept Einzelne Seite ist hier nicht erfüllt. – Joshua

Antwort

0

ich mit der gleichen Situation bin konfrontiert, gelang es allerdings einen Hack zu tun, indem sie die ganze Seite auf Router Klicken

In Ihrer Komponente

<a [routerLink]="['link2']" class="linkReload"> 

eine js-Datei erstellen mit Jquery Nachladen und fügen der folgende Code (add jquery)

$('.linkReload').click(function() { 
    location.reload(); 
    }); 

NB Bei Angular sh ow 404 Fehler beim Import der bolow Linie in Ihre app.module.ts

import { HashLocationStrategy, LocationStrategy } from '@angular/common'; 

fügen Sie diese Anbieter Neuladen der in app.module.ts

{provide: LocationStrategy, useClass: HashLocationStrategy}