2017-04-26 6 views
0

Ich arbeite an Front-End-Projekt mit HTML Javascript und angular js.In, dass ich nur eine Indexseite habe, wo dort jeder andere HTML-Code in div-Tag bei Hash-Änderung geladen werden.Seite Umleitung mit Daten von der vorherigen Seite in Javascript

<div ng-app="mainApp"> 
     <ng-view></ng-view> 
    </div> 

Aber das Problem ist, in vorheriger Seite geladene Daten noch mit neuer Seite oder drücken Zurück-Taste nach Umleiten, es ist nicht clearing.When ich lädt Sie die aktuelle Seite dann nur die alte Seite in der aktuellen Seite ist, zu entfernen und Laden der jeweiligen Seitendaten. In index.html habe ich versucht, diese Tabelle zu entfernen, von einer einzelnen Seite geladen, deren Entfernen Tabelle, wenn der Seitenwechsel

window.onhashchange = function() { 

      if (document.getElementById("table") != null) { 
       var tbl = document.getElementById("table"); 
       tbl.parentNode.removeChild(tbl); 
      } 
     } 

Aber restliche HTML-Elemente von der vorherige Seite nicht entfernen, Wie kann ich den Seiteninhalt laden rewspectively ohne vorherige Seite data.Ich verwende window.location = "# newpage" zum Weiterleiten

Antwort

0

Für eine effektive Hash-Verwaltung sollten Sie den eckigen Router oder eckigen UI-Router verwenden. Mit diesem können Sie für jede Route (Hash) HTML-Template und entsprechende Geschäftslogik festlegen. Es wird so etwas sein

var app = angular.module("myApp", ["ngRoute"]); 
app.config(function($routeProvider) { 
    $routeProvider 
    .when("/", { 
     templateUrl : "main.htm", 
     controller : "mainCtrl" 
    }) 
    .when("/red", { 
     templateUrl : "red.htm", 
     controller : "redCtrl" 
    }) 
    .when("/green", { 
     templateUrl : "green.htm", 
     controller : "greenCtrl" 
    }) 
    .when("/blue", { 
     templateUrl : "blue.htm", 
     controller : "blueCtrl" 
    }); 
}); 

In jedem Controller können Sie die zu ladenden Daten in den entsprechenden Vorlagen festlegen.

Weitere Informationen finden diese Links

+0

Ja ich nur diese Konfiguration verwenden, aber immer noch, wenn ich zurückdrücken oder wie window.location umleiten = "#/page.html "Es wird umgeleitet, aber die vorherige Seite Daten wie Tabelle, einige div-Elemente kommen. Wenn ich neu laden seine perfekt die gültigen aktuellen Seitendaten – Vicky

+0

Ich denke, es sollte window.location =" # page "sein, nicht Fenster .location = "#/page.html " – vishva8kumara

+0

Sie können auch etwas wie arc-reactor für einen Vorlagen-Router [per url-hash] verwenden: https://github.com/vishva8kumara/arc-reactor. Dort können Sie sogar eine Funktion anhängen, die zusätzliche Parameter von url-hash erhält, und die Definition von Ein-/Ausstiegsübergängen nach Klassennamen definieren. – vishva8kumara

Verwandte Themen