我正在开发具有html javascript和angular js的前端项目。我只有一个索引页面,其中每个其他html将在散列更改时加载到div标签中。
<div ng-app="mainApp">
<ng-view></ng-view>
</div>
但问题是,在重新定位新页面或按下后退按钮后,上一页中加载的数据仍然在当前页面中,而不是正在清除。当我重新加载当前页面时,只有旧页面正在删除并加载相应的页面页面数据。在index.html中,我尝试过删除从每个页面加载的表,在页面更改时删除表
window.onhashchange = function() {
if (document.getElementById("table") != null) {
var tbl = document.getElementById("table");
tbl.parentNode.removeChild(tbl);
}
}
但是上一页中剩余的html元素没有删除,如何在没有上一页数据的情况下重新加载页面内容。我正在使用window.location =&#34; #newpage&#34;用于重定向
答案 0 :(得分: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"
});
});
在每个控制器中,您可以在相应的模板中设置要加载的数据。
有关更多信息,请参阅这些链接