ottercoder ottercoder - 5 months ago 69
AngularJS Question

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?

Answer

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