window.location和$location.path有什么区别?(涉及IT技术)

4
在MVC AngularJS应用程序中,如何重定向到MVC页面。
我尝试了以下两个选项
第一个选项:
// It doesn't work
$location.path("/MyPage1");

第二个

 //It works
 window.location = "/MyPage1";

请建议最佳的重定向方式,并说明原因?
请记住:我没有使用AngularJS路由。
2个回答

0

将 $location 与 window.location 进行比较,官方文档明确说明

请查看此 location 的部分

与 HTML5 API 实现无缝集成

window.location:否

$location:是(对于旧版浏览器有备用方案)

以及更多信息


0

两者都有各自的优点。正如@Mohammad所提到的,它们在官方文档中有明确的描述。因此,根据情况选择其中任何一个:

使用$location:当您不需要在浏览器URL更改时进行完整页面重新加载,想要利用Angular内部生命周期的好处,并且您不需要支持旧的遗留浏览器时,请使用$location。如果您的目标只是当前URL的变体,那么您可以利用$location帮助方法。例如,我们运行$location.search(..., ...)来仅更改查询字符串参数的值。

使用本地window location:当您需要更改URL并重新加载页面或导航到不同页面时,请使用较低级别的API:window.location.href,或者当您想要使用可以直接修改的行级对象属性时。即像强制重新加载window.location.reload()。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接