我知道有很多方法可以在Angular中获取当前URL,例如:
this.router.url
但是,我的问题是: 通过执行 this.router.url 而不仅仅是 window.location ,我可以获得什么好处?有人可以向我解释吗?非常感谢!
答案 0 :(得分:0)
通常,您可能不想直接与窗口或任何全局对象交互。原因是理论上angular可以在浏览器之外运行,因此不会有window
或document
,并且您想安全地桥接它。 router
正是在这样做
如果您看一下文档,可能会发现一个更好的主意:
在选项卡式浏览器中,每个选项卡均由其自己的Window对象表示; 在给定标签中运行的JavaScript代码所看到的全局窗口 始终代表其中运行代码的选项卡。那就是 即使在选项卡式浏览器中,某些属性和方法仍然适用于 包含选项卡的整个窗口,例如resizeTo()和 innerHeight。一般而言,任何不能合理地与 标签与该窗口有关。
对于标签式浏览器而言,这是正确的。电话具有另一个API,可以与诸如相机之类的事物进行通话。而且手机可能还会丢失桌面上存在的某些内容。