您的查询参数是 URL 的一部分吗?例如,我在应用程序中进行分页和过滤,我的 URL 如下所示:
http://localhost:51923/#/accounts/search?searchText=account&pageSize=25&pageNumber=1&someBool=true&someBool2=false
现在,映射到此的 UI Router 中的状态如下所示:
.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}
}
})
查看ui router的文档,不考虑 state params 部分,该部分解释了默认值和 squash 的作用。重要的是要注意参数是字符串(注意 false 是“false”)。希望这可以帮助。