AngularJS应用程序在传递新参数时不刷新页面

AngularJS app not refreshing page when passed new parameters

本文关键字:刷新 参数 应用程序 新参数 AngularJS      更新时间:2023-09-26

我有一个应用程序,我已经写了一个名字作为参数,但当我点击链接后加载一些其他名称的页面不做任何事情,尽管新的参数通过URL传递。我想Angular DOM不会让它重新加载,因为它们"技术上"是同一个网页。但是,我确实需要它来加载更新的数据。

下面是填充链接列表的Angular JS/HTML:
<li ng-repeat="internalRep in internalReps "><a href="repweekly.html#!?rep={{internalRep.such}}">{{internalRep.such}}</a></li>

现在,当你在一个完全不同的页面,点击其中一个链接,它工作完美。但是,如果您已经在./repweekly.html#!?rep=REP1,点击链接进入./repweekly.html#!?rep=REP5它将改变URL栏中的URL,但不会发生任何其他事情。如果单击刷新按钮,则会加载正确的数据。


我把代码改成了:

<li ng-repeat="internalRep in internalReps "><a ng-href="./repweekly.html#!?rep={{internalRep.such}}">{{internalRep.such}}</a>

,同样,当地址栏中的URL更改时,页面不会重新加载以显示更新后的代表

好了,这是我最后做的-

链接保持josurel建议的一个例外-我添加了一个ng-click指令(ng-click="reloadRep()"):

<li ng-repeat="internalRep in internalReps"><a ng-href="repweekly.html#?rep={{internalRep.such}}" ng-click="reloadRep()">{{internalRep.such}}</a></li>

然后将$window注入控制器:

angularApp.controller('mainController', ["$scope", "$http", "$filter", "$location", "$window", function ($scope, $http, $filter, $location, $window) {...

,最后我创建了当ng-click被调用时运行的函数:

$scope.reloadRep = function () {
    $window.location.reload();
};