当前位置: 首页 > 知识库问答 >
问题:

在浏览器中更改URL参数的角页面刷新

闻人博
2023-03-14

非常简单的要求,但很难做到这一点。有一个简单的页面,我打印参数在url路径。

http://localhost:8888/ngtest.html#/1234567

ngtest.html

<div ng-app="app" ng-controller="testCtrl">
    {{myId}}
</div>

<script>
var app = angular.module('app', []);
app.controller('testCtrl', function($scope, $location) {
    $scope.myId = $location.$$path;
});
</script>

在浏览器窗口中:

  1. 1234567更改为类似1234

什么也没发生。按F5键,它将按预期工作。

不确定这是否与浏览器行为有关,但如何强制页面在参数更改后刷新Enter?

共有2个答案

罗毅
2023-03-14

页面刷新已在此处回答。

可以使用$route.reload();

正如这里所建议的,当在url输入中按Enter键时,您可以尝试侦听路由更改成功:

范围$在($routeChangeSuccess')范围上$在(“$locationChangeSuccess”)上

牟稳
2023-03-14

基于上述Leon建议的完整示例

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.js"></script>

<div ng-app="app" ng-controller="testCtrl">
    {{myId}}
</div>

<script>
var app = angular.module('app', []);
app.controller('testCtrl', function($scope, $location) {

    // add a listener for when the url changes and user
    // Enter in the address bar
    $scope.$on('$locationChangeStart', function(event) {
        $scope.myId = $location.$$path;
    }); 
});
</script>

基本上,这是注册一个位置更改侦听器并相应地执行操作。不需要路由配置

 类似资料:
  • 问题内容: 我将如何执行一个JavaScript动作,该动作可能会对当前页面产生一些影响,但同时也会更改浏览器中的URL,因此,如果用户点击重新加载或添加书签,则会使用新的URL? 如果“后退”按钮将重新加载原始URL,那也很好。 我正在尝试在URL中记录JavaScript状态。 问题答案: 对于HTML 5,请使用函数。举个例子: 和href: 如果要更改URL而不在后退按钮列表中添加条目,请

  • 问题内容: 我目前正在编写一个复杂的AJAX应用程序,并且整个站点都有干净的URL。目前,PHP为每个页面创建基本布局,但是当用户单击链接时,我不想离开每个页面,也不想在URL中包含哈希,因为它不会不适合该网站的其他部分。我知道这已经增加了网站上的负载,这似乎是很常见的问题,但是我想知道是否存在一种整洁的HTML5方法,即使技术上保持不变,它似乎也只是更改地址栏中的URL页。 问题答案: 您可以使

  • 问题内容: 如何在不刷新页面的情况下更改URL? 我已经用CodeIginer建立了一个网站,我想在我的页面之一中实现AJAX和JQuery。问题是; 当我加载内容时,URL不会改变。 假设我有URL 和另一个URL: 单击按钮时如何将第一个URL更改为第二个URL? 问题答案: 在HTML5中,您可以更改URL: 检查http://spoiledmilk.com/blog/html5-chang

  • 问题内容: 我有一个初始化的角度指令,如下所示: 我希望它足够聪明,可以在更改时刷新指令,因为这意味着它应该显示完全不同的内容。 我已经对其进行了测试,但没有任何反应,更改时甚至没有调用链接函数。有没有办法做到这一点? 问题答案: 链接函数仅被调用一次,因此不会直接执行您期望的操作。您需要使用angular 来观看模型变量。 该手表需要在链接功能中设置。 如果您将隔离范围用于指令,则范围将是 在链

  • 我已经用php为我的网站实现了分页系统,唯一的问题是: 假设存在分页的url是,

  • 问题内容: 我有这个网址: 我需要的是能够将“行”的url参数值更改为我指定的值,比方说10。如果“行”不存在,则需要将其添加到url的末尾并添加我已经指定的值(10)。 问题答案: 在学到很多东西之后的四年后,回答我自己的问题。特别是您不应该将jQuery用于所有功能。我创建了一个可以解析/字符串化查询字符串的简单模块。这使得修改查询字符串变得容易。 您可以按以下方式使用查询字符串: