angularjs 中 $location.path("/home") 和 $location.$$path="/home" 的区别
Difference between $location.path("/home") and $location.$$path="/home" in angularjs
我的示例 POC 中有一个登录页面和一个主页。
当用户完成登录后,我已从登录页面重定向到主页。
我已经尝试使用以下代码从登录页面重定向到主页 angular.$location
代码 1
$location.path("/home");
此代码正在运行 good.No 个问题。
代码 2
$location.$$path="/home";
此代码可能无法正常工作,因为页面已重定向,但 URL 显示为之前的 URL, 未更改重定向的 URL.
- Why is this happened?
- What is the difference between code1 and code2
Angular 对他们的某些 API 方法、属性和事件名称使用一美元 ($)。这些方法被认为 "public" 并且开发人员可以安全使用。
它们已记录在案,不太可能有太大变化,但如果它们确实发生了变化,那么 angular 团队会告诉我们。
当您看到两美元 ($$) 时,最好不要管它。您当然可以以任何您想要的方式使用它们(调试是一个很好的用途),但您不需要这样做。如果您将它们用于您自己的目的,则无法保证它甚至会在下一个次要版本更新时出现,因此您的代码会变得更加脆弱。
$$path
是 angular 的内部 属性 你不应该碰那个。
如果您在 angular 代码库 (https://github.com/angular/angular.js/blob/master/src/ng/location.js#L480) 中看到此定位服务代码。
$location.$$path = 'somepath'
,只会设置 $$path 值
然而,
$location.path('somepath')
还会做一些其他事情,比如在内部调用 $$compose
并更新 this.$$url
和 this.$$absUrl
等
我的示例 POC 中有一个登录页面和一个主页。
当用户完成登录后,我已从登录页面重定向到主页。
我已经尝试使用以下代码从登录页面重定向到主页 angular.$location
代码 1
$location.path("/home");
此代码正在运行 good.No 个问题。
代码 2
$location.$$path="/home";
此代码可能无法正常工作,因为页面已重定向,但 URL 显示为之前的 URL, 未更改重定向的 URL.
- Why is this happened?
- What is the difference between code1 and code2
Angular 对他们的某些 API 方法、属性和事件名称使用一美元 ($)。这些方法被认为 "public" 并且开发人员可以安全使用。 它们已记录在案,不太可能有太大变化,但如果它们确实发生了变化,那么 angular 团队会告诉我们。
当您看到两美元 ($$) 时,最好不要管它。您当然可以以任何您想要的方式使用它们(调试是一个很好的用途),但您不需要这样做。如果您将它们用于您自己的目的,则无法保证它甚至会在下一个次要版本更新时出现,因此您的代码会变得更加脆弱。
$$path
是 angular 的内部 属性 你不应该碰那个。
如果您在 angular 代码库 (https://github.com/angular/angular.js/blob/master/src/ng/location.js#L480) 中看到此定位服务代码。
$location.$$path = 'somepath'
,只会设置 $$path 值
然而,
$location.path('somepath')
还会做一些其他事情,比如在内部调用 $$compose
并更新 this.$$url
和 this.$$absUrl
等