可以从URL获取参数

时间:2015-12-08 16:44:40

标签: angularjs angular-ui-router angular-ui state

我正在处理我的angularui项目。 在moduleI中尝试获取我在URL中发送的变量。

这是模块定义:

angular.module("workPlan", ['damageEvent',
                            'ui.router',
                            'geomindCommon',
                            'templates',
                            'lookups',
                            'ngTouch',
                            'ui.grid',
                            'ui.grid.expandable',
                            'ui.grid.selection',
                            'ui.grid.pinning',
                            'ui.grid.resizeColumns',
                            'ui.bootstrap'
])

.config([
    "$stateProvider",
    "$urlRouterProvider",
    function ($stateProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise("/MainPage");
        $stateProvider
            .state("workPlan", {
                abstract: true,
                url: "/",
                template: "<ui-view></ui-view>"
            })

         .state("workPlan.list", {
             url: "MainPage",
             templateUrl: "app/workPlan/templates/workPlanList.tmpl.html",
             controller: "workPlanListController",
             controllerAs: "list",
             resolve: {
                 param: function ($stateParams) {

                     var stringParam = $stateParams.myParam;
                     return $stateParams.myParam;
                 },
                 filterParameters: [filterParametersResolver],
                 workPlans: ["workPlanServise", workPlanServiseResolver]
             }
         })
    }
]);

在这行中,我尝试从URL获取参数:

param: function ($stateParams) {    
    var stringParam = $stateParams.myParam;
    return $stateParams.myParam;
},

这是我的网址:

http://example.com/playground#/MainPage?myParam = "Some string"

但stringParam总是undefined

知道我在做错了什么吗?为什么stringParamundefined

1 个答案:

答案 0 :(得分:2)

我们必须定义参数。在urlparams : {}对象中。所以这应该解决它:

.state("workPlan.list", {
     //url: "MainPage",
     url: "MainPage?myParam", // here we say, that myParam is expected in url

如何设置params

的其他方法