angular - 已处理字符串中的角度路由器斜线会破坏 url 匹配
问题描述
我有以下情况(Angular 开发新手)
- 从 API 返回的数据块,在
*ngFor
我有以下
<ion-card-title (click)="showCat(customer.brandname)">{{customer.brandname}}</ion-card-title>
并且函数包含
showCat(name){
this.router.navigate(["/brandsview/" + name + "/"]);
}
+ 角度路由中所需的修饰符。
当某些项目产生的 customer.brandname
已经包含斜线时会出现问题。
因此,如果在一个项目中,例如BMW, url 将没有问题。但是当像BMW/MORIS这样的项目被传递时,它会破坏 url 结构。
我无法访问 API 端点或数据库,因此我可以在本地剥离斜杠(尽管我必须学习如何在 TS 中做到这一点)但是当我在另一个组件中匹配它时它不会匹配数据库检查这需要品牌名称与数据库中的品牌名称相匹配。
在不破坏东西的情况下实现这一目标的想法/最佳实践?谢谢。
解决方案
您需要encodeURIComponent(name)
在传递给路由器之前使用。
正如您所提到的,您需要在消费端对其进行解码以获取原始字符串。
推荐阅读
- c# - 尝试从 android 应用程序登录到我的服务器时出现“无法建立 ssl 连接”或“SSL 握手中止”
- android - 后退按钮反应本机不会关闭应用程序
- excel - 计算包含公式的单元格
- azure-cosmosdb - CosmosDb 查询数组中对象内的字段
- python - 带有 Tensorflow 2.1 输出形状问题的自定义层
- python - osmnx which_result 含义
- laravel - laravel 控制器从所选项目传递 id 但没有数据传递给编辑方法
- python - 是否可以在 Django 视图中创建自己的类以避免代码重复?
- php - Yii2 Kartik ExpandRowColumn - 将字符串与操作按钮/图标连接以展开
- android - 如何在 Android 中构建一个包含 RecyclerView 的上滑面板?