2017-04-26 9 views
0

私はフロントエンドプロジェクトのHTML javascriptとangular js.Inを持っているので、ハッシュ変更時にdivタグに1つ置きのインデックスページがあります。ページのリダイレクトはjavascriptの前のページのデータを持っています

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

しかし、問題は、前のページにロードされたデータは、新しいページにリダイレクトするか、戻るボタンを押した後、現在のページのままであり、私が古いページが削除されるだけにして、現在のページをリロードclearing.Whenされていない、ありますそれぞれのページデータをロードする。 index.htmlの中で私はいくつかのそれぞれのページ、その削除テーブルから読み込まれ、この削除するテーブルをしようとしたときにページ変更

window.onhashchange = function() { 

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

しかし、私はページのコンテンツをrewspectively読み込むことができますどのように削除されていない、前のページからHTML要素を残りの以前のページデータなしで。リダイレクトにwindow.location = "#newpage"を使用しています。

答えて

0

効果的なハッシュ管理のために、角度ルータまたは角度UIルータを使用してください。これを使用して、各ルート(ハッシュ)に対してHTMLテンプレートと対応するビジネスロジックを設定できます。このようなものになります

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" 
    }); 
}); 

各コントローラでは、対応するテンプレートにロードするデータを設定できます。詳細については

これらのリンク

+0

はい、私はのみこれらの設定を使用していますを参照してください、私は背中を押すか、window.locationのようにリダイレクトまだとき= "#/ page.html "それはリダイレクトしていますが、テーブルのような前のページのデータは、いくつかのdiv要素が来ています。ロード時には、現在有効な現在のページデータが完全にロードされます – Vicky

+0

私はそれがwindow.location ="#page " .location = "#/ page.html " – vishva8kumara

+0

また、テンプレートルーター[url-hashによる]にarc-reactorのようなものを使用することもできます:https://github.com/vishva8kumara/arc-reactor。 url-hashで追加のパラメータを受け取り、クラス名で入力/終了のトランジションアニメーションを定義する関数を追加することもできます。 – vishva8kumara

関連する問題