Поскольку я могу использовать ng-repeat и только показывать первый выбор

Я хотел бы знать, как использовать ng-repeat, но только я хочу показать первый выбор, остальные выборы будут зависеть от кнопки!

Это код: http://plnkr.co/edit/oxtojjEPwkKng9iKkc14?p=preview

Я хочу, чтобы был увиден первый выбор, первый select и числовой неудар в лунку, и они идут отображать остальные, выйдя ему click на кнопку, кнопку будешь появляться до тех пор, пока уже нет больше выборов, которые было нужно выбирать.

В этом случае, если он выбирает выбор и puntaje сохраняет в array, и если он хочет выбрать больше выборов, он выходит ему click на кнопку, чтобы добавлять другой выбор.

Спасибо за помощь!

1
задан 12.04.2016, 14:57
3 ответа

Самая легкая форма - используя фильтр limitTo

Создай новый array или цепь символов содержа только определенное число элементов. Элементы взяты из начала как конец договоренности, цепь или начальное число, так как он был определен стоимостью и знаком (позитив or отрицательный) предела. Если введенная стоимость - число, он обращен сначала в цепь.

Потом ты делаешь что-то как

<div ng-repeat="opt in myOptions | limitTo : 1">
 {{opt.text}}
</div>

У этого метода есть следующие преимущества:

  • Операции делаются в памяти и перед тем, как обрабатывать ng-repeat что гораздо работоспособнее, что манипулировать твоими данными с другими директивными органами
  • Если ты изменяешь идею и хочешь показать больше стоимости только ты должен менять стоимость и я заношу в список.
  • Параметры limitTo они оцениваются как любое выражение углового и могут контролироваться переменными

angular.module('app', [])
  .controller('MyCtrl', function($scope) {
    $scope.cantidad = 1;
    $scope.opciones = [{
      value: '1',
      text: 'opcion 1'
    }, {
      value: '2',
      text: 'opcion 2'
    }];
  });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl">
  <div ng-repeat="opt in opciones | limitTo : cantidad">
    {{opt.text}}
  </div>
</div>
2
ответ дан 24.11.2019, 14:36

Ты нуждаешься aГ±adir в одном track by $index в нее iteraciГіn твоего ng-repeat, так что потом ты скрываешь те, Г-ndice которых не соответствовал на первом входе; что-то из типа: ng-show='$index == 1 && not_clicked_button'.

ngRepeat в AngularDocs

1
ответ дан 24.11.2019, 14:36

Действительно ты не нуждаешься в track by, так как ты можешь использовать $first, который является boolean, который показывает тебе, если это первый.

<h2 ng-if="$first">First Option</h2>
1
ответ дан 24.11.2019, 14:36