【问题标题】:how to use html5 history.pushstate with angular如何使用带有角度的 html5 history.pushstate
【发布时间】:2021-04-23 06:14:43
【问题描述】:

我正在为我的网络应用程序编写一些新功能。我在其中编写一些脚本,并通过一些标签管理器加载,这样当我的脚本加载时,它将针对一些 UI 组件并从 dom 中删除并注入它的 dom 元素。

现在它删除的组件有一些按钮,单击该按钮会更改 url 并加载映射到 url 的组件。请注意,网络应用程序是有角度的,并且在引擎盖下它使用角度路由。

现在我正在编写的脚本在 Angular 应用程序之外,所以当我通过查询 dom 删除 UI 并注入新元素时,我使用了 html5 history.pushstate 来更改 url。 url 发生变化,但与之关联的组件永远不会加载。

似乎 angular 不听 html5 历史中所做的更改。

谁能告诉我怎么做?

请注意我的脚本在 Angular 之外,因此无法访问它。

【问题讨论】:

    标签: html angular angular-routing browser-history html5-history


    【解决方案1】:

    你不能。

    pushState 是一种表达方式:“我使用 JS 来修改 DOM,如果你从服务器请求 this URL,你最终会得到相同的页面”。

    它不会导致 DOM 变化。

    如果你想改变 Angular 应用程序的状态,那么你需要 Angular 应用程序为你提供一个 API 来操作它。由于您无权访问,因此无法添加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-01
      • 2018-12-26
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-09
      • 1970-01-01
      相关资源
      最近更新 更多