Nano Hash - криптовалюты, майнинг, программирование

Скрыть ng-repeat, если дочерний/вложенный повтор имеет значение

У меня есть несколько повторов ng, которые зависят друг от друга.

$scope.niveaus = [
        { niveau: 'a' },
        { niveau: 'b' },
        { niveau: 'c' },
        { niveau: 'd' },
        { niveau: 'e' },
        { niveau: 'f' },
        { niveau: 'g' }
    ];

    $http.get('/goals.json').success(function(goals) {
        $scope.goals = goals;
    });

Я заполняю жестко закодированные niveau A-G. В списке целей я сопоставляю имена niveaus с именами из JSON.

И выполните ng-repeat:

<ul ng-repeat="niveau in niveaus">

        <li class="foobar">{{ niveau.niveau }}</li>

        <div ng-repeat="goal in goals | unique:'niveau_id'">
            <div ng-if="goal.niveau.name == niveau.niveau">
                <li class="yes">{{ goal.niveau.name }}</li> 
            </div>
        </div>

    </ul>

Таким образом, он проверяет для каждого niveau цели. Если цель соответствует именам, она будет показана. Но проблема сейчас в том, что li.foobar тоже показывается, если есть совпадение в ng-if.

Таким образом, это может быть выход:

введите здесь описание изображения

Но у него должны быть уникальные имена niveau. A-G для каждой строки. И показать, если li.yes есть в повторяющейся части, он должен скрыть li.foobar из списка повторов.

Но как этого добиться в Angular?


Ответы:


1

Проверьте документы по фильтрам.

angular.module('myApp', []).filter('withgoals', function() {
return function(input, goals) {
  var out = [] 
  for (var i = 0; i < goals.length; i++) {
    if (input.niveau == goals[i].niveau.name) out.push(input[i])
  }
  return out;      
});


<div ng-repeat='n in niveaus| withgoals: goals'></div>
26.12.2013
  • Тогда вы получаете только те niveaus, у которых есть цели внутри. Я также хочу показать ниво, когда внутри нет цели. В каждом ряду должно быть следующее: A B C D E F G. 26.12.2013
  • @user1469734 user1469734 добавьте пример структуры данных и результирующий HTML-макет к вашему вопросу, так как это неясно, поскольку вы не показываете goal часть своих данных. 26.12.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..