Ui-Router $state.go() does not refresh data

i think this should work for current state refresh.

$state.go($state.current, {}, {reload: true}); //second parameter is for $stateParams

I think you're loading the new state before the update has completed - try moving the state transition to after the update completion:

vm.product.$update().then(function(){
  $state.go('productList', {}, { reload: true });
});

I had the same problem with a list not refreshing after edit. Wrapping the $state.go in a $timeout function solved my problem.

$timeout(function(){
    $state.go('publishers.list', {}, { reload: true });
},200);