Javascript Angularjs-即使相同的url也重新加载页面
我使用的是Angularjs 1.3,我的项目有2个子菜单:Javascript Angularjs-即使相同的url也重新加载页面,javascript,jquery,angularjs,reload,url-parameters,Javascript,Jquery,Angularjs,Reload,Url Parameters,我使用的是Angularjs 1.3,我的项目有2个子菜单: href=“/子菜单” href=“/submenu?page=1” 当我在子菜单页面上单击第二个url时,页面不会重新加载,它只是更新url,但不会执行任何操作。当用户使用该查询参数登录到第二个url时,我已经编写了代码 我不想强制重新加载页面 window.location.reload(),因为它将清空$rootscope 我有一个解决方案,用Angular ui router重新定义url代码,但这很耗时,因为重新定义会破坏主
window.location.reload()代码>,因为它将清空$rootscope
我有一个解决方案,用Angular ui router重新定义url代码,但这很耗时,因为重新定义会破坏主要功能。我现在正在寻找快速修复方法。也许这样可以:
<a href="javascript:window.open('?page=1','_self');">...</a>
检查$rootscope是否为空,以确保它是空的。我快速修复了它。有个人评论了,但现在把它删除了。他说我应该用数据调用函数来更新视图,而不是重定向,我做到了
但在我的例子中,菜单不在该页面的控制器范围内,我使用vanilla js进行链接重定向(在重定向之前需要执行一些操作)。
因此,为了调用控制器的函数,我检查了我是否在同一页上,如果是,则从该页抓取角度范围,以便获得该控制器中定义的所有函数,使用:
angular.element($('#someId')).scope();
应在定义ng控制器的元素上设置SomeID。它给了我在控制器范围内定义的所有函数。然后我调用了函数,页面得到更新,没有重新加载,问题得到解决。使用target=“\u self”:
href=“/submenu”target=“\u self”
href=“/submenu?page=1”target=“\u self”
使用ng view在当前页面上显示该页面。您是否正确配置了路由?如果不尝试这篇文章是的,我已经正确配置了它,这不是一个问题。这是angular的行为,如果我们单击与当前页面具有相同url的链接,它不会重新加载页面。我已经解决了我的问题,并在下面回答了它。