在浏览器中更改URL参数时,Angular页面会刷新。

16 浏览
0 Comments

在浏览器中更改URL参数时,Angular页面会刷新。

非常简单的要求,但是这个问题让我很困扰。我有一个简单的页面,在其中打印URL路径中的参数。\n

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

\nngtest.html\n

    {{myId}}

\n在浏览器窗口中:\n

    \n

  1. 1234567更改为类似1234的内容
  2. \n

  3. 按回车键
  4. \n

\n没有发生任何变化。按下F5刷新页面后,它按预期工作。\n不确定这是否与浏览器行为有关,但如何在参数更改+回车后强制刷新页面呢?

0
0 Comments

Angular页面在更改浏览器URL参数时刷新的原因是为了重新加载或重新渲染整个页面。解决方法是使用$route.reload()方法来重新加载页面。另外,可以尝试在URL输入框中按下Enter键时监听路由变化成功事件,可以使用scope.$on('$routeChangeSuccess')或scope.$on('$locationChangeSuccess')方法来实现。下面是完整的示例代码:

scope.$on('$routeChangeSuccess', function() {
    // 在路由变化成功时执行的代码
    // 可以在这里重新加载或重新渲染页面
});

通过以上方法,可以实现在浏览器URL参数更改时刷新Angular页面。

0
0 Comments

Angular在URL参数更改时刷新页面的原因是,当URL参数更改时,Angular会自动更新$scope中的相应变量,在页面上显示最新的值。解决方法是使用$location服务来监听URL的变化,并在变化发生时更新$scope中的变量。

以下是解决问题的完整示例代码:


{{myId}}

以上代码通过在控制器中使用`$locationChangeStart`事件来监听URL的变化。当URL发生变化时,将更新$scope中的myId变量,从而刷新页面上的显示内容。该解决方法不需要进行路由配置。

0