如果是索引页,则从路径中删除#。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果是索引页,则从路径中删除#。相关的知识,希望对你有一定的参考价值。

我在模态窗口中做了一个嵌入式小部件。要把它插入到任何网站。

在这个小部件中,我通过HashRouter获取哈希值。

当我关闭模态窗口时,我想从url中删除 "#"。

我决定通过(或有其他方法吗?

window.history.replaceState(null, null, document.location.href.split('#')[0])

但是,我决定通过(或者有其他方法)来实现。我不明白在什么时候我应该叫这个 (触发后,URL变回 #/)

后者试图在最后启动更新的Child组件中调用 componentDidUpdate.

Ierarchy。

index.js -> ParentComponent -> ChildComponent。

父母

render() 
  return (
    <HashRouter>
      <ChildComponent />
    </HashRouter>
  );

儿童

componentDidUpdate() 
  if (!location.hash.includes('search')) 
    window.history
        .replaceState(null, null, document.location.href.split('#')[0]);
  

答案

你也可以使用 document.location.href.replace('#/', '') 移除字符。

以上是关于如果是索引页,则从路径中删除#。的主要内容,如果未能解决你的问题,请参考以下文章

如果 rowsInSection = 0,则从 tableview 中删除部分

如果某些陈述为真,则从列表中删除对象[重复]

如果索引列不同,则从一列中求和值?

Javascript ES6,如果存在则从数组中删除项目的最佳方法,如果不存在则添加

如果重复 x 次,则从数组中删除值 | JavaScript

如果 Redshift 中存在表,则从表中删除行,否则忽略删除