Получить все объекты из массива в угловой области

0

Я пытаюсь получить все объекты внутри массива из области в угловом. Я использую jQuery для получения массива, но я не уверен, как получить каждый объект из массива без необходимости его определять как [0].

angular.element("#scopes").scope().fixtures;

Это дает мне:

Array[380]

Который я могу выбрать, но мне нужно получить их всех за один раз.

Благодарю.

  • 0
    Что вы подразумеваете под "получить все объекты в массиве"? Вы хотите массив этих объектов? Если так, то чем этот массив отличается от того, который вы уже можете получить? Если нет, в какой форме вы хотите их?
  • 0
    Извините, я имею в виду, что хочу получить доступ к определенным частям массива, но мне нужно вернуть их все за один раз, чтобы получить доступ к этим определенным частям. Например, API, который я использую, предназначен для футбольных данных. Мне нужно получить статус матча, например, FINISHED или TIMED для каждого.
Показать ещё 2 комментария
Теги:
scope
arrays

2 ответа

1
Лучший ответ

EDIT: Вот как я мог бы реализовать это решение. Обратите внимание, что он больше не использует jQuery. Он извлекает данные из API и затем выполняет итерацию по каждому элементу массива, что позволяет вам делать то, что вы хотите с ним. угловое. Для всех документов

// In your angular controller...
$http({
    url: "myApiUrl",
    method: "GET",
    cache: false,
    params: {
        //whatever API params you want to pass
    }
}).then(function successCallback(response) {
    $scope.fixtures = response.data;
    $scope.fixtures.forEach(function (element, index) {
        // do what you want - as per your comments...
        console.log("Element: " + index);
        console.log("Status: " + element.status);
        console.log("________________________________");
    });

}, function failureCallback() {
    alert("There was an error retrieving the data!");
});
  • 0
    Это потрясающе. Спасибо. Кажется, сейчас такой глупый вопрос. Ценю быстрый ответ.
  • 0
    @GarethFrazer Не беспокойтесь! Если это решение сработало для вас, не стесняйтесь голосовать и отмечать как принятый ответ
Показать ещё 7 комментариев
1

Чтобы ответить на ваш конкретный вопрос, кажется, что вы хотите сопоставить результаты:

var statuses = angular.element("#scopes").scope().fixtures.map(function(fixture) {
    return fixture.status;
});

Тем не менее, похоже, что вы должны получить эти данные из своей модели, а не пытаться вытащить ее из своего представления.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню