我正在尝试建立捕获多个参数的状态提供者,但问题是我不知道有多少参数 是否有可能将它们作为对象或数组捕获? 或唯一的解决方案是将其作为字符串捕获并将它们分开?
例如这是我的提供者
.state('app.confirmPayment', {
url: '/comfirmPayment/:params',
templateUrl: '/Views/ConfirmPayment.html'
})
和控制器
app.controller('ConfirmController', ['$scope', '$state',
function ($scope, $state) {
var self = this;
console.log('$state confirm payment');
console.log($state);
console.log('$state confirm payment');
}
]);
并希望捕获所有分离的参数
/comfirmPayment/:age=15&name=erez..... // can be more that i dont know
并且可能是更多的参数,我不知道他们可以是什么
感谢 希望它清楚
答案 0 :(得分:0)
除非您绑定查询参数(请参阅documentation),否则您无法通过$state
或$stateParams
直接访问这些参数。
假设网址
cities?cityId=3¶m1=value1
并且您可以在路由器配置$stateProvider
中处理此问题,您可以在其中定义状态
.state('cities', {
url: "/cities?cityId¶m1",
templateUrl: "cities.html",
controller: "citiesController"
})
// will match to url of "/cities?cityId=[any id]¶m1=[any value]"
最后你可以在 citiesController.js 中加入这些参数,即
console.log($stateParams);
//Object {cityId: "3", param1: "value1"}
希望它有所帮助。