2016-07-21 2 views
0

я пытаюсь определить stateParams в контроллере, но он возвращает мне пустой объект {}Как передать stateParams на угловой контроллер?

Моего app.js:

angular.module('testApp', ['ui.router','ngResource']) 
.config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('app', { 
      url:'/', 
      views: { 
       'header': { 
        templateUrl : 'views/header.html' 
       }, 
       'messages': { 
        templateUrl : 'views/messages.html', 
        controller : 'MessageController' 
       }, 
       'chat': { 
        templateUrl : 'views/chat.html', 
        controller : 'ChatController' 
       }, 
       'footer': { 
        templateUrl : 'views/footer.html' 
       } 
      } 
     }) 
     .state('app.chat', { 
      url: ':id' 
     }); 
     $urlRouterProvider.otherwise('/'); 
}) 

Моего controller.js:

angular.module('testApp') 

.controller('IndexController', ['$scope', '$stateParams', function($scope,$stateParams) { 

    $scope.chosenMessage = $stateParams; 

}]); 

И мои шаблон:

 <div ui-view="messages" class="col-xs-6"></div> 
     <div ui-view="chat" class="col-xs-6"></div> 

Мне нужен идентификатор из StateParams для определения choes mes мудрец и чат для сообщения.

+0

use $ state.params или $ stateParams.id –

+0

@Rejs $ state.params не работает, и $ stateParams.id возвращает undefined – Mike

ответ

Смежные вопросы