Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to do $state.go() with params?

I have perfectly initialized $stateProvider and I'm using all this states with ui-sref. Works great. User presses the button and thorugh the $stateProvider goes to the edit page.

On this page I have a form which does $http request:

 this.pushData = function (data) {
        $http.post('/data/' + $stateParams.dataId + '/otherdata', JSON.stringify({
            id: otherdata.id, 
            name: otherdata.name
        }), configAuth).then(
            function success(response) {
                var addedData = response.data;
                $.notify({message: addedData.name + " has been added"},{type:'success'});

                $state.go('roleInfo({roleId: $stateParams.roleId})');
            },
            function error(data) {
                console.log(data);
                $.notify({message: data.data.message},{type:'danger'});
            }
        );

    }

And I want to do redirect to other view if everything is fine. But this:

$state.go('roleInfo({roleId: $stateParams.roleId})');

doesn't work. How can I do $state.go with params?

like image 982
ottercoder Avatar asked Jun 17 '16 11:06

ottercoder


3 Answers

The way you are trying that would work with ui-sref directive, while calling it using $state.go method, you should pass 1st parameter is stateName & then pass params in Object format.

$state.go('roleInfo', {roleId: $stateParams.roleId});
like image 174
Pankaj Parkar Avatar answered Nov 20 '22 05:11

Pankaj Parkar


Try this:

$state.go('myStateName', {roleId: $stateParams.roleId});

You can read the docs here

like image 39
Fernando Fabreti Avatar answered Nov 20 '22 06:11

Fernando Fabreti


i have changed $state.go('roleInfo({roleId: $stateParams.roleId})'); to

 $state.go('roleInfo',{roleId :$stateParams.roleId});

this will work


this.pushData = function (data) {
            $http.post('/data/' + $stateParams.dataId + '/otherdata', JSON.stringify({
                id: otherdata.id, 
                name: otherdata.name
            }), configAuth).then(
                function success(response) {
                    var addedData = response.data;
                    $.notify({message: addedData.name + " has been added"},{type:'success'});

                   $state.go('roleInfo',{roleId :$stateParams.roleId});                    },
                function error(data) {
                    console.log(data);
                    $.notify({message: data.data.message},{type:'danger'});
                }
            );

        }
like image 2
Himesh Suthar Avatar answered Nov 20 '22 05:11

Himesh Suthar