Mam wiele problemów ze zrozumieniem, jak powinny działać urządzenia StateParams. Gdziekolwiek spojrzę, sugeruję, że powinno to minąć item_id
z 456, kiedy podróżuję pod adres URL /#/manage/456
, ale zamiast tego $stateParams
jest pustym obiektem. Co więcej, w obiekcie $state
, który jest przekazywany do MainCtrl, mogę uzyskać dostęp do wszystkich parametrów za pomocą $state.params
, jednak wydaje się to niepożądane i hackish.
angular
.module('router',['ui.router'])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider)
{
$stateProvider
.state('manage',
{
url: '/manage',
templateUrl: '/templates/main.html',
controller: 'MainCtrl'
})
.state('manage.item_id',
{
url: '/:item_id',
templateUrl: '/templates/main.html',
controller: 'MainCtrl'
})
}])
.controller('MainCtrl', ['$scope', '$stateParams', '$state', function($scope, $stateParams, $state)
{
// empty object
console.log('$stateParams: ', $stateParams);
// shows the variables i want
console.log('$state.params: ', $state.params);
}])
Dzięki. Nie zapomniałem dodać drugiej dyrektywy 'ui-view' w załadowanym szablonie. – BlinkyTop
Konsole demonstracyjne pusty obiekt dla mnie .. – Sami