как напечатать тег <i> с помощью ng-repeat, получая длину {{d.stars.length}}

0
<span><i class="fa fa-star colored"></i>
    <i>{{d.stars}}</i>
    </span>

Я хочу напечатать <i class="fa fa-star colored"></i> длину от "{{d.stars.length}}" и напечатать <i> каждый раз, когда есть приращение длина.

Помогите мне, поскольку я новичок в угловой.

Теги:
angularjs-ng-repeat

2 ответа

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

Вы имели в виду это?

var app = angular.module('myapp', []);

app.controller('MainCtrl', function($scope, $compile) {
  $scope.stars = 3;
  $scope.starsArray = [1,2,3];
  $scope.getStars = function(num) {
      return new Array(num);   
  }
});
<!DOCTYPE html>
    <html ng-app="myapp">
       <head>
          <script src="https://code.angularjs.org/1.4.8/angular.js"></script>
          <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css"/>
       </head>

       <body ng-controller="MainCtrl">
           <p>If $scope.stars is an int</p>
           <i ng-repeat="star in getStars(stars) track by $index" class="fa fa-star"></i>
           <hr/>
           <p>If $scope.stars is an array</p>
           <i ng-repeat="star in starsArray track by $index" class="fa fa-star"></i>
       </body>
</html>

Насколько я знаю, ng-repeat принимает только коллекцию как параметр, поэтому мы преобразуем число в массив, а затем просто ng-repeat над ним.

редактировать:

добавлен подобный массиву ng-repeat

  • 0
    да, но что делать, если я хочу указать длину {{d.stars.length}}, чтобы она могла печатать столько, сколько требуется, спасибо
  • 0
    @resume, тогда вы просто используете ng-repeat='star in d.stars.length...'
Показать ещё 2 комментария
0
<span><i class="fa fa-star colored"></i>
    <i>{{d.stars.length}}</i>
    </span>

длина автоматически обновится.

  • 0
    нет нет я хочу получить длину, а затем напечатать звезды столько, сколько длина

Ещё вопросы

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