Search code examples
javascriptangularjsroutesangular-ui-routerangularjs-routing

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?


Solution

  • 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});