UI-маршрутизатор AngularJS передает параметр из режима просмотра в состояние

Я пытаюсь пройти params в ui-sref затем получить доступ к state resolve,

HTML View

ui-sref="reservation({check_in: check_in, check_out: check_out})"

Я пытаюсь получить params прошло в ui-sref к resolve,

Это какой-то код в моем controller когда я еще не использую resolve,

        $http.get('server/getFilteredRooms.php', {
params: {
check_in: data.check_in,
check_out: data.check_out
}
}).then(function(res){

Затем я попытался реализовать resolve потому что я хочу дождаться получения данных, прежде чем рендеринг view, Таким образом, я полагаю, я не столкнусь undefined из-за data от http function еще не вернулся.

JS (app.js)

.state("reservation", {
url: "/reservation",
templateUrl: "pages/reservation.html",
controller: "ReservationController",
resolve : {
promiseObj : function($http){
return $http({
method: 'GET',
url: 'server/getFilteredRooms.php',
params: {
check_in: check_in,
check_out: check_in
}
});
}
}
})

И я пытаюсь получить доступ в моем PHP файл, как это.

PHP

$check_in = $_GET['check_in'];
$check_out = $_GET['check_out'];

0

Решение

Чтобы получить эти параметры в разрешении состояния, сначала необходимо объявить их в конфигурации состояния. Измените конфигурацию состояния и введите params ключ следующим образом:

.state("reservation", {
url: "/reservation",
templateUrl: "pages/reservation.html",
controller: "ReservationController",
params: {
check_in: null,
check_out: null
},
resolve: ...

Затем измените преобразователь следующим образом:

promiseObj: function($http, $transition$){
var params = $transition$.params();

return $http({
method: 'GET',
url: 'server/getFilteredRooms.php',
params: {
check_in: params.check_in,
check_out: params.check_in
}
});
}

Таким образом, ваш распознаватель знает, что он должен извлечь значения параметров из URL и передать их в HTTP-вызов.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector