我的.run()函数中有一个带有非常基本的http请求的$ rootScope变量。然后在不同的控制器中,我通过在URL中添加后缀并添加不同的标题等来更改请求。
问题是,如果我在任何控制器中编辑$ rootScope变量,它将全局更改。我曾尝试在使用它的各种服务和控制器中制作$ rootScope变量的副本,但它似乎仍然会改变$ rootScope变量的值。
一个例子:
说$ rootScope变量的URL是:
当我登录时,我将其更改为:
只需连接'登录'到最后,但是当我去注销时,我想把它改成:
但我得到了:
答案 0 :(得分:2)
有两种方法可以处理它。
1>不要更改网址,而是像
一样附加到网址上$rootScope.URL+"login" //OR logout
2 - ;使用angular.copy复制您的URL。这将避免引用,并且不会更改$ rootScope变量。
$scope.newURL = angular.copy($rootScope.URL);
现在您可以修改$scope.newURL
。