I angular2 Ebene js bin mitAngular2: ngOnInit nicht aufgerufen wird, wenn die Komponenten nach history.back geladen wird() in Safari
Das Problem ist, dass ngOnInit()
nicht aufgerufen wird, nachdem Komponente nach history.back()
geladen wird. Alles funktioniert gut mit meinen Komponenten, wenn ich einfach mit routeLink
von einer Komponente zur anderen navigiere.
Meine Komponente sieht wie folgt aus:
Page1Component = ng.core
.Component({
selector: 'page1',
templateUrl: 'app/components/page1/view.html',
directives: [ ng.router.ROUTER_DIRECTIVES]
})
.Class({
constructor: [
ng.router.Router,
function(router) {
console.log("constructor called"); // <- this is called in all cases.
}
],
ngOnInit: function(){
console.log("ngOnInit"); // <-- This is NOT called when coming from history.back(), but it's working ok in other cases.
},
ngAfterContentInit: function(){
console.log("called ngAfterContentInit"); // <-- Same as ngOnInit
}
});
Aus dieser Komponente I zu einer anderen Komponente gehen Router wie folgt aus: [routerLink]="['Page2']"
und von Page2
wenn ich history.back()
ngOnInit
und ngAfterContentInit
von Page1
nennen sind nicht genannt.
Das Problem ist nur auf Safari iOS
In meinem index.html
I sind:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=Intl.~locale.en"></script>
<script type="text/javascript" src="libs/es6-shim/es6-shim.min.js"></script>
<script type="text/javascript" src="libs/es6-shim/shims_for_IE.js"></script>
<script type="text/javascript" src="libs/angular/2.0.0-beta.13/angular2-polyfills.min.js"></script>
<script type="text/javascript" src="libs/angular/2.0.0-beta.13/Rx.umd.min.js"></script>
<script type="text/javascript" src="libs/angular/2.0.0-beta.13/angular2-all.umd.js"></script>