哪个@angular/*包是bug的来源?
router
这是个回归吗?
否
描述
在尝试使用https://angular.io/guide/router-tutorial-toh#candeactivate-handling-unsaved-changes中记录的方法时,我注意到未保存更改保护实现在以下用例中具有意外的行为:
重现步骤(在Firefox上测试):
- 下载并运行https://angular.io/generated/zips/router/router.zip提供的代码
- 转到http://localhost:4200/crisis-center
- 点击第一个危机,带你到http://localhost:4200/crisis-center/1
- 对危机名称进行更改,但不保存
- 点击浏览器后退按钮
- 注意,url变为http://localhost:4200/crisis-center,弹出确认对话框
- 点击“取消”。
结果:
历史记录如下(活动路由位于位置0):
[http://localhost:4200/crisis-center/1, http://localhost:4200/crisis-center/1]
预期结果:
历史记录应如下(活动路由应位于位置1):
[http://localhost:4200/crisis-center, http://localhost:4200/crisis-center/1]
请提供一个链接,以便最小化地重现bug
https://angular.io/generated/zips/router/router.zip
请提供您看到的异常或错误
No errors, just the unexpected behaviour.
请提供您发现此bug的环境(运行ng version
)
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI: 16.2.0
Node: 16.19.0
Package Manager: npm 8.19.3
OS: darwin x64
Angular: 16.2.2
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1602.0
@angular-devkit/build-angular 16.2.0
@angular-devkit/core 16.2.0
@angular-devkit/schematics 16.2.0
@angular/cli 16.2.0
@schematics/angular 16.2.0
rxjs 7.8.1
typescript 4.9.5
zone.js 0.13.1
还有其他信息吗?
- 无响应*
1条答案
按热度按时间dfty9e191#
的确,情况就是这样。有一个选项可以配置路由器在导航被拒绝时返回到前一个页面。这可以通过
RouterModule.forRoot(routes, {canceledNavigationResolution: 'computed'})
来启用。文档应该更新以提及这一点。