url更改时刷新窗口- AngularJS

Refresh window on url change - AngularJS

本文关键字:窗口 AngularJS 刷新 url      更新时间:2023-09-26

我有一个网页,让它是用AngularJS写的目的地,从另一个网页(不是AngularJS)访问,让它是源。

如果我点击一个按钮它会在一个新窗口中打开目标网页

Source将有一个下拉框,目标网页的URL是基于这个下拉框构建的。

例如,设置下拉值为Apple、Mango和Banana。如果选择apple并点击该按钮,则目标网页将以url

打开。

http://localhost: 10000/webapp/hello1/# ?苹果id =

基于id的UI将被绘制。

对于芒果和香蕉,url将是

http://localhost: 10000/webapp/hello1/# ?id =芒果

http://localhost: 10000/webapp/hello1/# ?id =香蕉

现在的问题是,当苹果被选中,点击按钮,目标网页打开。当目的地没有关闭时,当我选择芒果并点击按钮时,目的地网页的url会改变,但页面不会刷新。

那么问题是什么呢?这是因为AngularJS还是我应该包含任何代码,以便在URL更改时自动刷新页面?

由于#用于区分URL中的路径和查询参数(AngularJS格式),当页面加载后查询参数值发生变化时,页面不会自动刷新。

可以使用下面的代码来修复,当窗口的哈希值发生变化时,hashchange事件会被触发。

window.onhashchange = function() {
    window.location.reload();
};

如果你使用的是ui-router,那么就使用这个

ui-sref="dashboard" ui-sref-opts="{reload: true}"