Как передать два значения в одном объекте $scope
В моем методе GET, когда я регистрирую $scope.room_image_id, я получаю два значения, предположим, 47 и 95.
$http({ method:'GET', url: '=' +$scope.current_Hotel.hotel_id }).then(function(response){ var roomdata = response.data; $scope.roomdata = roomdata; var roomtype = roomdata.data; angular.forEach(roomtype, function(value, key){ $scope.room_image_id = value.image; console.info($scope.room_image_id); <!--- HERE --> });
и я передаю это значение в другом методе GET, и я должен получить два изображения. По одному от каждого удостоверения личности, которое я сдал.
$http({ method: 'GET', url: '&image_id=' + $scope.room_image_id }).then(function (response) { var imgdata = response.data; var imgdata1 = imgdata.data.image_name; $scope.room_image = "/" + imgdata1; console.log(imgdata1); }
Вот JSON-данные, когда идентификатор 95
{ status: 200, message: "Packages Found", data: { 0: "495", 1: "0", 2: "uploads/950286957inbound-marketing-ss-1920-800x450.jpg", image_id: "495", hotel_id: "0", image_name: "uploads/950286957inbound-marketing-ss-1920-800x450.jpg" } }
а вот данные JSON, когда ID равен 45
{ status: 200, message: "Packages Found", data: { 0: "45", 1: "0", 2: "uploads/17081121512t13ry63443fg43416t46136.jpg", image_id: "45", hotel_id: "0", image_name: "uploads/17081121512t13ry63443fg43416t46136.jpg" } }
Но он возвращает только первые данные JSON, т. е. когда ID равен 95, но я получаю оба идентификатора, когда регистрирую $scope.room_image_id
Вот разметка:
<div class="row" ng-repeat="x in roomdata.data"> <div class="well well-sm">{{x.room_type}}<a href="#" data-toggle="modal" data-target="#room_detail{{$index}}" class="pull-right">Room Details</a> </div> <h5 class="pull-right">{{x.rack_price}}<br>Per room per night</h5> <img ng-src="{{room_image}}"> </div>
Добавлен JSON для roomdata
{ status: 200, message: "Packages Found", data: [ { room_type_id: "9", hotel_id: "40", room_type: "Delux", total_rooms: "10", max_people: "2", max_child: "1", rack_price: "2500", description: "<p>Sea Facing</p> ", image: "47", extra_person: "1", extra_child: "1", tax_type: "2", tax_name: "Service Tax", tax_amount: "9", }, { room_type_id: "214", hotel_id: "40", room_type: "Super Delux", total_rooms: "30", max_people: "2", max_child: "1", rack_price: "3000", description: "<p>Super Delux </p> ", image: "495", extra_person: "1", extra_child: "1", tax_type: "2", tax_name: "Service Tax", tax_amount: "10", } ]
Я получаю 47 и 495 от изображения в roomdata. Кроме того, когда я регистрирую $scope.room_image_id, я получаю 47 и 495.Проверьте цикл forEach в первом методе GET.
Что я уже пробовал:
<div class="row" ng-repeat="x in roomdata.data"> <div class="well well-sm">{{x.room_type}}{{x.image}}<a href="#" data-toggle="modal" data-target="#room_detail{{$index}}" class="pull-right">Room Details</a> </div> <h5 class="pull-right">{{x.rack_price}}<br>Per room per night</h5> <img ng-src="{{room_image}}" ng-init=fetchImage(x.image)>
Я попытался передать идентификатор изображения в функцию, а затем получить данные. Теперь я получаю оба изображения
Вот эта функция
$scope.fetchImage = function(value){ $http({ method: 'GET', url: '&image_id=' + value }).then(function (response) { var imgdata = response.data; var imgdata1 = imgdata.data.image_name; $scope.room_image = "" + imgdata1; console.info($scope.room_image); }); };
Консоль теперь дает мне два url-адреса, из которых извлекаются изображения
Пример:
https://uploads/165753081311.08.10-ces_ft_photography_20755221_582_379.jpg https://uploads/950286957inbound-marketing-ss-1920-800x450.jpg
Теперь, как я могу использовать выражение привязки для их отображения.
Karthik_Mahalingam
что вы получаете в ответ
SL-A-SH
Объект из одного URL-адреса. Я должен получить два объекта, так как мой $scope.room_image_id дает мне два значения
Karthik_Mahalingam
что возвращает метод из c#
SL-A-SH
Данные JSON
Karthik_Mahalingam
опубликуйте вывод json
SL-A-SH
Я отредактировал этот вопрос
Karthik_Mahalingam
в том что и все детали вам нужны
SL-A-SH
Я хочу, чтобы имя image_name хранилось в $scope.room_image так, чтобы при использовании ng-repeat в моем представлении. Он показывает два изображения вместо одного. В настоящее время я использую это, но я получаю одно и то же изображение в обеих строках
Karthik_Mahalingam
у него только одна строка как же так получилось что он повторится дважды
SL-A-SH
Проверьте правку. В настоящее время я получаю две строки, но в обеих строках я получаю одно и то же изображение вместо разных изображений
Karthik_Mahalingam
опубликуйте json для roomdata. data
SL-A-SH
Я хочу сказать, что передаю два значения в $scope.room_image_id в моем втором методе GET, тогда почему я получаю ответ только от второго значения.
Karthik_Mahalingam
$область действия.room_image_id
это запятая отделена?
SL-A-SH
Нет. Я добавил JSON для roomdata
Karthik_Mahalingam
Опубликуйте весь код и связанные с ним данные json
SL-A-SH
http://codepen.io/SL-A-SH/pen/yMEXWg?editors=1010
Karthik_Mahalingam
какую ценность вы получаете
$область действия.selectHotel = функция (отели) {
$http({
метод: "получить",
URL-адрес: 'https://&однако=' + $охвата.current_Hotel.exterior_image
}). затем(функция (ответ) {
ответ
SL-A-SH
Те же данные JSON, из которых я получаю изображения, но на этот раз из другого идентификатора изображения.
Подобный этому
{
статус: 200,
сообщение: "пакеты найдены",
данные: {
0: "45",
1: "0",
2: "uploads/17081121512t13ry63443fg43416t46136.jpg",
однако: "45",
hotel_id: "0",
image_name: "uploads/17081121512t13ry63443fg43416t46136.jpg"
}
}
Karthik_Mahalingam
это имеет только один элемент, он должен быть массивом
SL-A-SH
Нет, когда я загружаю страницу, она дает один объект, потому что по умолчанию выбран один отель. И когда выбирается другой отель, он дает другой объект, поэтому данные соответственно изменяются в представлении
SL-A-SH
Теперь я могу назвать оба изображения. :D не могли бы вы, пожалуйста, проверить раздел "Что я пробовал". Я обновил его
Karthik_Mahalingam
если у вас есть оба изображения, то привязка к элементу управления изображением
SL-A-SH
Я сделал свою работу. Спасибо
Karthik_Mahalingam
Хорошо