代码之家  ›  专栏  ›  技术社区  ›  Stephen Turner

从窗体控件[duplicate]写入浏览器URL

  •  4
  • Stephen Turner  · 技术社区  · 6 年前

    我有一个有角度的表格,上面有很多搜索框。当用户在搜索框中键入时,相关列将被过滤。

    我已经看过了 router docs 但我看到的唯一写入URL的方法是导航到它。我不希望路由、保护和导航事件只是在搜索表单和URL参数之间触发更直接的绑定。

    我用的是角度6.1.3。我能在一个角度内做到这一点,还是我需要走到幕后,并试图绕过它?

    我认为使用 RouteReuseStrategy

    1 回复  |  直到 6 年前
        1
  •  1
  •   Lazar Ljubenović    6 年前

    你在找什么 Location#replaceState

    将浏览器URL更改为给定URL的规范化版本,然后 替换

    只要在发生更改时调用此函数:

    ngOnInit () {
      this.form.get('field').changes.subscribe(value => {
        this.location.replaceState('search/' + value)
      })
    }
    
    推荐文章