我有一个客户搜索 View ,默认情况下,仅加载名字和姓氏的表单。但是,它可以将这些参数作为 URL 中的参数。我的应用程序配置包含:
$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
应该处理的事情吗?
最佳答案
有一个 issue in ui-router tracker关于可选参数。目前,您还无法以明确的方式指定它们,但您可以使用正则表达式:
url: '/search{fn:(?:/[^/]+)?}'
或查询参数:
url: '/search?fn&ln'
不过,人们正在努力解决这个问题,所以我预计所需的功能会在未来的某个时候实现。
关于angularjs - "optional"AngularJS 状态/ View 中的参数与 ui-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21977598/