Javascript $location和window.location比较
在angularjs、Javascript $location和window.location比较,javascript,angularjs,Javascript,Angularjs,在angularjs、$location或window.location中使用哪个更好 例如,对于相同的工作,我们可以使用$location.path()或window.location.href。哪个更合适 有人建议吗?您应该使用$location,这样AngularJS就可以知道您所做的更改。如果您直接操作window.location,AngularJS将无法识别它,并且在其他AngularJS方法调用下一个摘要周期之前不会发生更改。事实上,这就是AngularJS围绕本机方法进行包装的原
$location
或window.location
中使用哪个更好
例如,对于相同的工作,我们可以使用$location.path()
或window.location.href
。哪个更合适
有人建议吗?您应该使用
$location
,这样AngularJS就可以知道您所做的更改。如果您直接操作window.location
,AngularJS将无法识别它,并且在其他AngularJS方法调用下一个摘要周期之前不会发生更改。事实上,这就是AngularJS围绕本机方法进行包装的原因之一,比如$timeout
,$interval
等对于AngularJS应用程序路径中的位置,请使用$Location.path(“yourroute”)
或$location.url('/RouteTo/')代码>
对于Angular应用程序之外的位置(即未定义路线),纯旧JavaScript将提供:
window.location=”http://www.domain.com/login“
$location
是window.location的angularjs包装。因为angularJS严重依赖于它的变化检测技术来使变化对UI可用。Angular通过对$scope和其他角度对象所做的每次更改运行摘要循环来实现这一点。如果直接使用window.location,angular此时将无法检测到更改。因此,它们使用$location,它在内部使用window.location并调用摘要循环。这样,位置更改会即时更新。