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が必要ですメッセージのセージとチャットのコンテンツ。
$ state.params、または$ stateParams.idを使用します。 –
@Rejs $ state.paramsは機能しません。また、$ stateParams.idは未定義です – Mike
私はすでにui-sref = "app.chat({id:mes.id})を設定している場合、このように設定します。 –