我的.run()函数中有一个.run变量,它具有非常基本的http请求。然后,在不同的控制器中,通过向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
发布于 2015-05-26 09:19:51
有两种方法来处理它。
1>不要更改网址,而是追加如下
$rootScope.URL+"login" //OR logout2>使用angular.copy复制您的URL。这将避免引用,并且不会更改$rootScope变量。
$scope.newURL = angular.copy($rootScope.URL);现在您可以编辑$scope.newURL了。
https://stackoverflow.com/questions/30454311
复制相似问题