ui-router跳转携带参数

之前在项目中遇到利用Angular js中ui-router跳转时需要携带参数,对比了使用$stateProvider.state带参数跳转,做了一个记录:

  1. 标签跳转到新的controller页面,eg:
 购买
           

其中,要跳转到“Buy”页面,需要携带的参数是“appParams”。

  1. Buy页面的配置如下:
var configArr = [{
            name: 'Buy',
            url: '/Buy/:APP',
            templateUrl: 'src/business/Buy/views/Buy.html',
            cache:false,
            controller: 'Buy.ctrl',
            scripts: {
                controllers: [
                    'src/business/Buy/controllers/BuyCtrl',
                    // 'src/business/user/controllers/userCtrl',
                ],
                // params:{"isAPP":null},
            },
        }

即将上述appParams传递到Buy页面的APP参数中。在Buy页面的controller中要使用APP参数,则应注册$stateParams,然后以如下方式获取:

var BuyCtrl = ['$rootScope','$scope','$stateParams', function ($rootScope,$scope,$stateParams) {
        console.log("应用ID和跳转名称:"+$stateParams.APP);
        console.log("应用ID:"+$stateParams.APP.split(",")[0]);
        console.log("跳转名称:"+$stateParams.APP.split(",")[1]);
        $scope.jumpState='#'+$stateParams.APP.split(",")[1];
        $scope.appID=$stateParams.APP.split(",")[0];}

ui-router在页面跳转时携带参数
$state.go()在页面跳转时携带参数

你可能感兴趣的:(ui-router跳转携带参数)