1

我有如下状态路线:

.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/

进入医院页面后,我可以使用 category 或 providerName 进行搜索并获取医院列表。我正在考虑修改这些搜索中的 url(对同一页面使用 ui-sref),因为显示与搜索匹配的 url 是有意义的。我在这里遇到了麻烦。搜索是一种常见的搜索,可以匹配 providerName 或类别,甚至是文本。在这种情况下,我该如何导航或如何使用 s-ref。我可以不使用 ui-sref 而只是去 api 或获取数据并更新很容易实现的结果。但是,我更喜欢 url 的更改,因为它显示了我们正在寻找的内容。

所以,现在我知道我提供的状态路线不合适。

请向我提供如何做到这一点的方法。

我正在考虑为此添加另一个称为“搜索”的状态,这是有道理的。但是这个的 templateUrl 是一样的。请建议我是否在正确的方向。

4

1 回答 1

3

检查此以获取详细说明和工作示例

Angular UI-Router 一种状态下的更多可选参数

我们可以使用所谓squashparams : {}对象设置:

.state("hospitals",
{
    url: "/hospitals/:categoryName/:providerName",
    templateUrl: "app/components/hospital/views/hospitals.html",
    params: {
      providerName: { squash: true },
      categoryName: { squash: true },
    },
})

还要检查这些:

于 2015-11-13T13:56:21.953 回答