考虑这个州的定义:
$stateProvider.state("someState", {
url: "/path?someParam",
controller: function($stateParams){
console.log("$stateParams", $stateParams.someParam);
}
});
导航到 / path?someParam = abc 时,$stateParams.someParam
符合预期"abc"
。
导航到 / path?someparam = abc 时,我希望它是一样的。 如何实现呢?
P.S。
$urlMatcherFactoryProvider.caseInsensitive(true);
无法解决此问题!
答案 0 :(得分:0)
根据OP(Alireza Mirian)发布的内容,我使用的是以下模型。它允许使用各种拼写,并且不区分大小写。
$stateProvider.state("someState", {
url: "/path?otherParam",
controller: "someController",
onEnter: function ($stateParams, $location) {
var parameterOptions = ['parameterOne', 'paramOne', 'firstParameter'];
var queryParameters = $location.search();
$stateParams.membershipId = undefined;
// Loops through the query-string parameters to identify a particular parameter, using a variety of spellings, regardless of case
for (var p in queryParameters) {
if (queryParameters.hasOwnProperty(p) && parameterOptions.indexOf((p + "").toLowerCase()) > -1) {
$stateParams.membershipId = queryParameters[p];
break;
}
}
}
});