问题描述
我有一个客户搜索视图,默认情况下,它只加载名字和姓氏的表单.但是,它可以将这些参数作为 URL 中的参数.我的应用配置包含:
I have a customer search view that, by default, simply loads a form for first and last name. It can, however, take those params as arguments in the URL. My app config contains:
$stateProvider
.state({
name: "search",
url: "/search",
templateUrl: "partials/customerSearch.html",
controller: "CustomerSearchCtrl"
})
.state({
name: "searchGiven",
url: "/search/:fn/:ln",
templateUrl: "partials/customerSearch.html",
controller: "CustomerSearchCtrl"
})
这可行,但似乎有不必要的冗余.有没有更好的办法?这是 $urlRouterProvider
应该处理的事情吗?
This works, but it seems like it has unnecessary redundancies. Is there a better way? Is this something $urlRouterProvider
should handle?
推荐答案
有一个 ui-router tracker 中关于可选参数的问题.截至目前,您无法以明确的方式指定它们,但您可以使用正则表达式:
There's an issue in ui-router tracker about optional parameters. As of now, you can not specify them in clear way, but you can use regular expressions:
url: '/search{fn:(?:/[^/]+)?}'
或查询参数:
url: '/search?fn&ln'
不过,人们正在研究它,所以我希望在未来的某个时候实现所需的功能.
People are working on it, though, so I'd expect desired functionality to land sometime in the future.
这篇关于“可选"带有 ui-router 的 AngularJS 状态/视图中的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!