SideMenu Push vs Replace UI Router

Hi can someone please specify how to achieve push transition and how replace transition in side menu example.
I saw that playlist is push and others are replace, but I cannot understand difference between them.

My UI Router config contains this state:

      .state('app.category', {
        url: '/category/:categoryId',
        cache: false,
        views: {
          'menuContent': {
            templateUrl: 'templates/category.html',
            controller: 'CategoryCtrl',
            resolve: {
              resolvedCategory: function ($q, $stateParams, categoryService) {
                var deferred = $q.defer();
                categoryService.getCategoryById($stateParams.categoryId).then((cat) => {
                  deferred.resolve(cat);
                }).catch((err) => {
                  deferred.reject(err);
                });
                return deferred.promise;
              }
            }
          }
        }
      })

But when I try to navigate manually to:
http://localhost:8100/#/app/category/9693BF2B-390C-F47C-FF7C-5485B7743400

It opens normally as expected by - replace
But anytime i try to navigate to same address programmatically ->
$state.go(‘app.category’, {categoryId: cat.objectId});
or
href="#/app/category/{{cat.objectId}}"

its pushing view :frowning: I have no idea why there is difference

you have to declare params at the top level, and include all the params you want. Like so:

$stateProvider
  .state('somestate', {
    url: '/endpoint/:id',
    params: { data: null, id: null },
    views: {
        main: {
          templateUrl: 'tpl.html',
          controller: function($stateParams) {
             console.log($stateParams) // { id: 1, data: { foo: 'bar' }}
          }
      }
    }
  })

  $state.go('somestate', { id: 1, data: { foo: 'bar' }});

But what if i dont have any params…my question was pretty much generic:

  • How to tell ionic that I want to push “view controller” or that I want to replace it…

So issue is with Resolve within ui-router, I already placed issue in github…but if there is someone who found workround this issue - IE how to change state with resolve using side menu animation, not by pushing views! please let me know