$ state.go ui-routing函数忽略自定义参数

时间:2017-12-04 15:12:01

标签: angularjs angular-ui-router state

我创造了一个' go'返回选项,将用户带回advSrch屏幕/状态。如果返回,我将loadSearchQuery传递给true。

  $scope.back = function() {
    $state.go('advSrch', { isDeleted: false, loadSearchQuery: true });
  };

但是我的应用程序总是使用默认值。

    }).state("advSrch",{url:"/advSrch",
    templateUrl: "app/search/advSearch.html",
    controller: "searchCtl",
    params: { isDeleted: null, loadSearchQuery: null },
    data: { authorizedRoles: ['USR']}

当我在返回loadViewQuery之后的console.log时总是为null。我做错了吗?

2 个答案:

答案 0 :(得分:1)

$ stateParams属性已被弃用,推荐使用的版本为1.0 $ transition $并使用$ transition $ .params()得到当前转换的参数。

详情on this link

答案 1 :(得分:0)

请确保您尝试从loadSearchQuery获取$stateParams

angular.module('app').controller('searchCtl', ['$scope', '$state',   '$stateParams',
    function ($scope, $state, $stateParams) {

        // Log param
        console.log($stateParams.loadSearchQuery);

        // ...
    }
]);

编辑:由于paper on-line hsmm状态为回答,因此从ui-router版本1弃用$stateParams,可以使用$transition$。例如:

angular.module('app').controller('searchCtl', ['$scope', '$transition$',
    function ($scope, $transition$) {

        // Log param
        console.log($transition$.params().loadSearchQuery);

        // ...
    }
]);