Используйте сервис $routeParams
для получения значения id
из маршрута и динамического создания URL-адреса API.Наиболее подходящим способом решения этой проблемы было бы удаление кода поиска данных из функции resolve
маршрута.Таким образом, вы также будете следить за тем, чтобы страница не отображалась до тех пор, пока не будет выполнен вызов page
.
$routeProvider.
when('/product/:id', {
templateUrl: 'partials/product.php',
controller: 'ProductController',
resolve: {
page: ['$http', $routeParams, function($http, $routeParams) {
return $http.get("api/product/"+ $routeParams.id ).then(function(response) {
return response.data;
})
}
}
})
Затем внутри контроллера используйте
function ProductController($scope, page) {
function init() {
$scope.page = page
}
init();
}