我正在使用Angularjs 1.3,我的项目有2个子菜单:
当我在子菜单页面上并点击第二个网址时,页面没有重新加载,它只是更新网址,但什么也没做。当用户使用该查询参数登陆第二个URL时,我编写了代码。
我不想强制重新加载页面
window.location.reload();
,因为它会清空$ rootscope。
我有一个解决方案,通过使用Angular ui-router重新定义URL代码,但由于重新定义将破坏主要功能,因此耗时。我正在寻找快速解决方案。
答案 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” :