IT박스

동적 매개 변수로 ui-router 해석

itboxs 2021. 1. 11. 07:52
반응형

동적 매개 변수로 ui-router 해석


이것은 아마도 간단하지만 문서에서 아무것도 찾을 수 없으며 인터넷 검색이 도움이되지 않았습니다. $stateProvider필요한 데이터를 가져 오기 위해 서버에 접속해야하는 URL이 상태 URL 매개 변수에 따라 달라지는 상태를 정의하려고합니다 . 간단히 말해서 다음과 같습니다.

 .state('recipes.category', {
    url: '/:cat',
    templateUrl: '/partials/recipes.category.html',
    controller: 'RecipesCategoryCtrl',
    resolve: {
      category: function($http) {
        return $http.get('/recipes/' + cat)
          .then(function(data) { return data.data; });
      }
    }
  })

위는 작동하지 않습니다. 운없이 $routeParams필요한 cat매개 변수 를 얻기 위해 주입 시도했습니다 . 이 작업을 수행하는 올바른 방법은 무엇입니까?


와 가까웠습니다 $routeParams. $stateParams대신 ui-router를 사용 하는 경우. 이 코드는 나를 위해 작동합니다.

.state('recipes.category', {
    url: '/:cat',
    templateUrl: '/partials/recipes.category.html',
    controller: 'RecipesCategoryCtrl',
    resolve: {
         category: ['$http','$stateParams', function($http, $stateParams) {
             return $http.get('/recipes/' + $stateParams.cat)
                    .then(function(data) { return data.data; });
         }]
     }
})

ui-router 1.0 $stateParams 이 더 이상 사용되지 않는 사용자를 위해 $transition$대신 object를 사용해야 합니다.

.state('recipes.category', {
    url: '/:cat',
    templateUrl: '/partials/recipes.category.html',
    controller: 'RecipesCategoryCtrl',
    resolve: {
         category: ['$http','$transition$', function($http, $transition$) {
             return $http.get('/recipes/' + $transition$.params().cat)
                    .then(function(data) { return data.data; });
         }]
     }
})

참조 URL : https://stackoverflow.com/questions/19012579/ui-router-resolve-with-dynamic-parameters

반응형