Pindakaas
Pindakaas

Reputation: 4439

how to go to state with stateProvider?

Playing around with angular stateProvider, this is my route:

app.config(['$stateProvider', function ($stateProvider) {
  $stateProvider
    .state("start", {
      url: "/",
      templateUrl: 'start.html',
      controller: 'StartCtrl'
    })
    .state("test", {
      url: "/",
      templateUrl: 'test.html',
      controller: 'TestCtrl'
    });
}]);

On bootstrapping I would like to go to state 'test':

app.run(['$rootScope', '$state', '$stateParams', function ($rootScope,   $state, $stateParams) {
  $state.go('test');
  console.log('app.run');
}]);

These are the controllers:

app.controller('StartCtrl', function($scope) {
  console.log('start');
});

app.controller('TestCtrl', function($scope) {
  console.log('test');
});

Why is the application routing to the 'start' state ? I would like to go to the 'test' state?

Code reference:http://plnkr.co/edit/FCcL4M?p=preview

Upvotes: 2

Views: 2033

Answers (2)

Nagasimha Iyengar
Nagasimha Iyengar

Reputation: 461

Just need to add to previous answer : both start and test need to be corrected to follow standards.

http://plnkr.co/edit/TjDzyL?p=preview

pp.config(['$stateProvider', function ($stateProvider) {
  $stateProvider
    .state("start", {
      url: "/start",
      templateUrl: 'start.html',
      controller: 'StartCtrl'
    })
    .state("test", {
      url: "/test",
      templateUrl: 'test.html',
      controller: 'TestCtrl'
    });
}]);

Upvotes: 0

Nader Dabit
Nader Dabit

Reputation: 53711

You need to change the url for either the test or the start "state", right now they are both the same. I changed the test state url to "/test" and it loaded correctly.

http://plnkr.co/edit/2esV4dbd4ptNSEmwD3g4?p=preview

app.config(['$stateProvider',
  function($stateProvider) {
    $stateProvider
      .state("start", {
        url: "/",
        templateUrl: 'start.html',
        controller: 'StartCtrl'
      })
      .state("test", {
        url: "/test",
        templateUrl: 'test.html',
        controller: 'TestCtrl'
      });
  }
]);

Upvotes: 1

Related Questions