Angularjs - 更改URL而不更新当前控制器和模板

时间:2013-12-12 19:57:31

标签: javascript angularjs

我正在开发一个类似pinterest的前端,当点击它时,这应该加载一个模态,这里没问题。

但要求是,在加载模态时URL应该更改,并且后台必须保留引脚列表。

我不能这样做,尝试使用angular-ui,但是当URL更改时,ui-view元素也被清理了

这里的stackoverflow有很多类似的问题,但这里的问题是不是子URL

url1:site.com / list / categorie - > url2:site.com / title

如何更改网址并将当前内容保留在后台?

谢谢!

3 个答案:

答案 0 :(得分:1)

几天后我得到了,这段代码必须在控制器中

var lastRoute = $route.current;
    $scope.$on('$locationChangeSuccess', function(event) {
        if($route.current.$$route.controller == 'modal'){
            $route.current = lastRoute;
        }
    });

这将保留当前的ngview HTML,但更改网址

我在这里找到了解决方案https://stackoverflow.com/a/12429133/1179213

答案 1 :(得分:0)

您很可能会使用HTML历史记录的API。看看这篇文章。 Updating address bar with new URL without hash or reloading the page

由于你是在Angular之外做的,所以除了URL之外不应该影响任何东西。

希望有效!

答案 2 :(得分:0)

您可以使用查询参数使用$location.search$watch来突出显示正确的图像。