我知道有很多方法可以在Angular中获取当前URL,例如:
this.router.url
然而,我的问题是:我通过以下操作获得了什么好处:this.router.url而不仅仅是window.location?有人能给我解释一下吗?非常感谢!
通常,您可能不想直接与窗口或任何全局对象进行接口。原因是angular理论上可以在浏览器之外运行,因此不会有window
或document
,您希望安全地桥接它。router
正是在做这个
如果你看一下这些文档,你可能会有一个更好的想法:
在选项卡式浏览器中,每个选项卡都由自己的Window对象表示;在给定选项卡中运行的JavaScript代码所看到的全局窗口始终表示运行代码的选项卡。话虽如此,即使在选项卡式浏览器中,某些属性和方法仍然适用于包含选项卡的整个窗口,如resizeTo((和innerHeight。一般来说,任何不能合理地属于选项卡改为与窗口相关。
这对于选项卡式浏览器是正确的。手机有另一个API,可以与摄像头等设备通话。而且手机可能还丢失了一些桌面上的东西。