制作$ rootScope的副本

时间:2015-05-26 09:12:30

标签: javascript angularjs http ionic-framework

我的.run()函数中有一个带有非常基本的http请求的$ rootScope变量。然后在不同的控制器中,我通过在URL中添加后缀并添加不同的标题等来更改请求。

问题是,如果我在任何控制器中编辑$ rootScope变量,它将全局更改。我曾尝试在使用它的各种服务和控制器中制作$ rootScope变量的副本,但它似乎仍然会改变$ rootScope变量的值。

一个例子:

说$ rootScope变量的URL是:

http://myurl.com/api

当我登录时,我将其更改为:

http://myurl.com/api/login

只需连接'登录'到最后,但是当我去注销时,我想把它改成:

http://myurl.com/api/logout

但我得到了:

http://myurl.com/api/login/logout

1 个答案:

答案 0 :(得分:2)

有两种方法可以处理它。

1>不要更改网址,而是像

一样附加到网址上
$rootScope.URL+"login" //OR logout

2 - ;使用angular.copy复制您的URL。这将避免引用,并且不会更改$ rootScope变量。

$scope.newURL = angular.copy($rootScope.URL);

现在您可以修改$scope.newURL