Angular UI 具有多个可选参数的路由器
Angular UI Router with multiple optional parameters
我有如下州道:
.state("hospitals",
{
url: "/hospitals/:categoryName/:providerName",
templateUrl: "app/components/hospital/views/hospitals.html"
})
一般来说,医院页面有所有类别的所有医院和所有提供者(医院)组。此外,从主页我们可以使用类别或提供者导航到医院页面,这将分别根据类别和提供者组显示医院。对于这些,我在锚标记内使用以下指令进行导航。
ui-sref="hospitals({categoryName: category.KeyName})"
ui-sref="hospitals({providerName: provider.KeyName})"
因此,这会在使用 providerName 导航时引入脏斜杠。
hospitals//somehopitalNme
分类没问题
coupons/heart/
进入医院页面后,我可以使用类别或提供者名称进行搜索并获取医院列表。我正在考虑修改这些搜索中的 url(对同一页面使用 ui-sref),因为显示与搜索匹配的 url 是有意义的。我在这里遇到了麻烦。搜索是一种常见的搜索,可以匹配 providerName 或类别,甚至也可以匹配文本。在这种情况下,我该如何导航或如何使用 s-ref。我可以不使用 ui-sref 而只是转到 api 或获取数据并更新易于实现的结果。但是,我更喜欢 url 的更改,因为它显示了我们正在寻找的内容。
所以,现在我明白了,我提供的状态路由不是sui表。
请提供一种方法。
我正在考虑为此添加另一个名为 "search" 的状态,这是有道理的。但是这个的 templateUrl 是一样的。请建议我的方向是否正确。
查看详细说明和工作示例
我们可以使用 params : {}
对象的所谓 squash
设置:
.state("hospitals",
{
url: "/hospitals/:categoryName/:providerName",
templateUrl: "app/components/hospital/views/hospitals.html",
params: {
providerName: { squash: true },
categoryName: { squash: true },
},
})
同时检查这些:
- Angular js - route-ui add default parmeter
我有如下州道:
.state("hospitals",
{
url: "/hospitals/:categoryName/:providerName",
templateUrl: "app/components/hospital/views/hospitals.html"
})
一般来说,医院页面有所有类别的所有医院和所有提供者(医院)组。此外,从主页我们可以使用类别或提供者导航到医院页面,这将分别根据类别和提供者组显示医院。对于这些,我在锚标记内使用以下指令进行导航。
ui-sref="hospitals({categoryName: category.KeyName})"
ui-sref="hospitals({providerName: provider.KeyName})"
因此,这会在使用 providerName 导航时引入脏斜杠。
hospitals//somehopitalNme
分类没问题
coupons/heart/
进入医院页面后,我可以使用类别或提供者名称进行搜索并获取医院列表。我正在考虑修改这些搜索中的 url(对同一页面使用 ui-sref),因为显示与搜索匹配的 url 是有意义的。我在这里遇到了麻烦。搜索是一种常见的搜索,可以匹配 providerName 或类别,甚至也可以匹配文本。在这种情况下,我该如何导航或如何使用 s-ref。我可以不使用 ui-sref 而只是转到 api 或获取数据并更新易于实现的结果。但是,我更喜欢 url 的更改,因为它显示了我们正在寻找的内容。
所以,现在我明白了,我提供的状态路由不是sui表。
请提供一种方法。
我正在考虑为此添加另一个名为 "search" 的状态,这是有道理的。但是这个的 templateUrl 是一样的。请建议我的方向是否正确。
查看详细说明和工作示例
我们可以使用 params : {}
对象的所谓 squash
设置:
.state("hospitals",
{
url: "/hospitals/:categoryName/:providerName",
templateUrl: "app/components/hospital/views/hospitals.html",
params: {
providerName: { squash: true },
categoryName: { squash: true },
},
})
同时检查这些:
- Angular js - route-ui add default parmeter