$location.path( "/home" ) 和 $location.$$path= angularjs 中"/home"的区别



我在我的示例POC中有一个登录页面和主页。

用户完成签名后,我将从登录页面重定向到主页。

我尝试了以下代码,用于使用angular.$location

从登录页面重定向到主页

代码1

 $location.path("/home");

此代码效果很好。没有问题。

代码2

$location.$$path="/home";

此代码可能无法正常工作,因为该页面是重定向的,但是显示了上一个URL,没有更改重定向的URL

  • 为什么会发生这种情况?
  • code1 code2
  • 之间有什么区别

$$path是角度的内部属性,您不应该触摸它。

如果您在Angular Code Base(https://github.com/angular/angular.js/blob/master/master/src/src/ng/location.js#l480)中看到此位置服务码。

$location.$$path = 'somepath',仅设置$$路径值

,而

$location.path('somepath')还会做其他一些事情,例如内部调用$$compose并更新this.$$urlthis.$$absUrl等。

Angular使用单个美元($)用于其某些API方法,属性和事件名称。这些方法被视为"公共",开发人员安全使用。它们是有记录的,并且不太可能改变太大,但是如果他们确实改变了,那么Angular团队将告诉我们有关。

当您看到两美元($$)时,最好只剩下那个。您当然可以以任何方式使用它们(调试是一种很好的利用),但是您不需要。如果您出于自己的目的使用它们,则不能保证它在下一个次要版本更新中甚至会在那里,因此您的代码变得更加脆弱。

相关内容

  • 没有找到相关文章

最新更新