angularsjs国家提供者多参数

时间:2016-03-29 11:58:29

标签: javascript angularjs web session-state-provider

我正在尝试建立捕获多个参数的状态提供者,但问题是我不知道有多少参数 是否有可能将它们作为对象或数组捕获? 或唯一的解决方案是将其作为字符串捕获并将它们分开?

例如这是我的提供者

.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

并且可能是更多的参数,我不知道他们可以是什么

感谢 希望它清楚

1 个答案:

答案 0 :(得分:0)

除非您绑定查询参数(请参阅documentation),否则您无法通过$state$stateParams直接访问这些参数。

假设网址

cities?cityId=3&param1=value1

并且您可以在路由器配置$stateProvider中处理此问题,您可以在其中定义状态

.state('cities', {
          url: "/cities?cityId&param1",
          templateUrl: "cities.html",
          controller: "citiesController"
        })
// will match to url of "/cities?cityId=[any id]&param1=[any value]"

最后你可以在 citiesController.js 中加入这些参数,即

console.log($stateParams);
//Object {cityId: "3", param1: "value1"}

希望它有所帮助。