首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Javascript的角度RouterLink

使用Javascript的角度RouterLink
EN

Stack Overflow用户
提问于 2018-11-15 14:46:18
回答 2查看 1.8K关注 0票数 0

我试图使用类似于routerLink的Javascript方法,但使用javascript。

我尝试了window.location,但结果并不一样,因为这个命令刷新网站,从一个网址跳转到另一个网址。是否有可能像routerLink那样从组件跳转到另一个组件(而不是刷新组件)?

溶液

我在找router.navigateByUrl('/url')

EN

回答 2

Stack Overflow用户

发布于 2018-11-15 14:48:49

routerLink的指令内部实现不使用window.location API,而是使用window.history API,这是更精确的window.history.pushState()函数(来源)。

每个SPA框架也是如此。

票数 0
EN

Stack Overflow用户

发布于 2018-11-15 14:54:18

您可以在不重新加载的情况下更改window.location.hash。如果您不想处理history.pushState(),也可以使用它来创建SPA。

代码语言:javascript
复制
window.addEventListener( 'hashchange', event => {
  console.log( `should render page: ${ window.location.hash }` )
});
代码语言:javascript
复制
<a href="#/home">Home</a>
<a href="#/page1">Page 1</a>
<a href="#/page2">Page 2</a>
<a href="#/page3">Page 3</a>

history.pushState()相比,这确实还有其他的缺点,比如搜索引擎优化等等。但是这是做单页应用程序路由的最简单的方法。所以这取决于你在建造什么,它是否足够。

如果您使用的是角,只需使用路由角提供的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53321987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档