2016-07-21 12 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のIDが必要ですメッセージのセージとチャットのコンテンツ。

+0

$ state.params、または$ stateParams.idを使用します。 –

+0

@Rejs $ state.paramsは機能しません。また、$ stateParams.idは未定義です – Mike

答えて

関連する問題