您的查询参数是URL的一部分吗?例如,我在应用程序中进行分页和过滤,我的URL如下所示:
http://localhost:51923/#/accounts/search?searchText=account&pageSize=25&pageNumber=1&someBool=true&someBool2=false
现在,UI路由器中映射到此的状态如下所示:
.state("accounts.search", {
url: "/search?searchText&pageSize&pageNumber&someBool&someBool2",
params: {
searchText: { value: "", squash: true },
pageSize: { value: "25", squash: true },
pageNumber: { value: "1", squash: true },
someBool: { value: "false", squash: true },
someBool2: { value: "false", squash: true }
},
controller: "accountsController as vm",
templateUrl: "site/accounts/search/accounts.html",
data: { pageTitle: "Accounts" },
resolve: { //...resolve data here... },
someOtherStuffIfNeeded: { //stuff here}
}
})
看看
documentation for ui router
不考虑state-params部分,它解释了默认值和挤压的作用。重要的是要注意参数是字符串(注意false是“false”)。希望这有帮助。