Angularjs - 重新加载页面即使相同的URL

时间:2015-11-18 23:17:22

标签: javascript jquery angularjs reload url-parameters

我正在使用Angularjs 1.3,我的项目有2个子菜单​​:

  1. HREF = “/子菜单”
  2. HREF = “/子菜单?页= 1”
  3. 当我在子菜单页面上并点击第二个网址时,页面没有重新加载,它只是更新网址,但什么也没做。当用户使用该查询参数登陆第二个URL时,我编写了代码。

    我不想强制重新加载页面 window.location.reload();,因为它会清空$ rootscope。

    我有一个解决方案,通过使用Angular ui-router重新定义URL代码,但由于重新定义将破坏主要功能,因此耗时。我正在寻找快速解决方案。

3 个答案:

答案 0 :(得分:0)

也许这有效:

<a href="javascript:window.open('?page=1','_self');">...</a>

检查$ rootscope是否为空,以确保它。

答案 1 :(得分:0)

我快速修复了它。有一个人发表评论,但现在将其删除。他说我应该使用数据来调用函数来更新视图,而不是重定向,我这样做了。

但在我的情况下,菜单超出了该页面的控制器范围,我使用vanilla js进行链接重定向(需要在重定向之前执行一些操作)。 因此,为了调用控制器的功能,我检查了我是否在同一页面上,如果是,则从页面中获取角度范围,以便获得该控制器中定义的所有功能,使用:

angular.element($('#someId')).scope();

应在定义了ng-controller的元素上设置SomeID。它给了我控制器范围内定义的所有功能。然后我只是调用函数,页面得到更新,没有重新加载,问题解决了。

答案 2 :(得分:0)

使用 target =“_ self”

  1. href =“/ submenu”target =“_ self”
  2. href =“/ submenu?page = 1”target =“_ self”