Angularjs 中 ui-sref 和 $state.go 如何传递单个多个参数和将对象作为参数

一: 如何传递单个参数

首先,要在目标页面定义接受的参数:

这里写图片描述

传参,
ui-sref:
这里写图片描述

$state.Go:
这里写图片描述

接收参数,
在目标页面的controller里注入 stateParams" stateParams.参数名” 获取
这里写图片描述

二:传递多个参数其实也很简单可以在上面的单个后面直接拼
1:目标页面定义需要传的传输个数

.state("default.certquery", {
    url: "/certquery",
    controller: "certQueryCtrl",
    params:{'gymListIds':null,"name":null}, //这个是重点其他可以不用看,具体路由对应自己项目
    template: "<div ui-view></div>"

})

2:controll里面接受(注入 stateParams" stateParams.参数名)

var params={'gymListIds':classId,"name":name};
$state.go('sureOrders',{myParam:JSON.stringify(params)});//跳转页面并传值

我这里是用页面绑定的值作为参数传过去,大家可以传固定的,具体业务具体对待

三:传递对象

$stateProvider
        .state('app.example1', {
                url: '/example',
                views: {
                    'menuContent': {
                        templateUrl: 'templates/example.html',
                        controller: 'ExampleCtrl'
                    }
                }
            })
            .state('app.example2', {
                url: '/example2/:object',
                views: {
                    'menuContent': {
                        templateUrl: 'templates/example2.html',
                        controller: 'Example2Ctrl'
                    }
                }
            })

2)

.controller('ExampleCtrl', function ($state, $scope, UserService) {


        $scope.goExample2 = function (obj) {

            $state.go("app.example2", {object: JSON.stringify(obj)});
        }

    })
    .controller('Example2Ctrl', function ($state, $scope, $stateParams) {

        console.log(JSON.parse($state.params.object));


    })

猜你喜欢

转载自blog.csdn.net/LLDD2014425/article/details/74740536