1

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

例如这是我的提供者

.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

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

谢谢希望它清楚

4

1 回答 1

0

除非您绑定到查询参数(请参阅文档),否则您不能直接通过$stateor访问它们$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]"

最后你可以在cityController.js中拥有这些参数,即

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

希望能帮助到你。

于 2016-03-29T12:05:23.130 回答