Я пытаюсь пройти 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'];
Чтобы получить эти параметры в разрешении состояния, сначала необходимо объявить их в конфигурации состояния. Измените конфигурацию состояния и введите 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-вызов.
Других решений пока нет …