html - 如何使用带有角度的 html5 history.pushstate
问题描述
我正在为我的网络应用程序编写一些新功能。我在其中编写一些脚本,并通过一些标签管理器加载,这样当我的脚本加载时,它将针对一些 UI 组件并从 dom 中删除并注入它的 dom 元素。
现在它删除的组件有一些按钮,单击该按钮会更改 url 并加载映射到 url 的组件。请注意,网络应用程序是有角度的,并且在引擎盖下它使用角度路由。
现在我正在编写的脚本在 Angular 应用程序之外,所以当我通过查询 dom 删除 UI 并注入新元素时,我使用history.pushstate
了 html5 来更改 url。url 更改但与其关联的组件永远不会加载。
似乎角度剂量不听 html5 历史中所做的更改。
谁能告诉我如何使这项工作。
请注意我的脚本在角度之外,所以没有任何访问权限。
解决方案
你不能。
pushState
是一种说法,“我使用 JS 来修改 DOM,如果你从服务器请求这个URL,你最终会得到相同的页面”。
它不会导致DOM 更改。
如果你想改变 Angular 应用程序的状态,那么你需要 Angular 应用程序为你提供一个 API 来操作它。由于您无权访问它,因此无法添加。
推荐阅读
- visual-studio-2017 - Visual Studio 2017 Nuget 安装包构建项目而不是安装/卸载包
- mysql - 避免多重连接以优化 MYSQL 中的查询
- python - 使用直方图进行特征分析——LinAlgError:奇异矩阵
- postgresql - pgadmin4 无法连接到我的 postgres 数据库
- ios - SwiftUI - 检查图像是否存在
- c# - 电子邮件中的 xml 格式
- sql-server - 涉及同一表中的多个列的条件 where 语句
- reactjs - 缺少接口属性错误,但实际上并没有丢失
- typescript - 如何在打字稿枚举中使用计算值?
- android - 如何在调试模式下 Crashlytics 到 Timber