<span><i class="fa fa-star colored"></i>
<i>{{d.stars}}</i>
</span>
Я хочу напечатать <i class="fa fa-star colored"></i>
длину от "{{d.stars.length}}" и напечатать <i>
каждый раз, когда есть приращение длина.
Помогите мне, поскольку я новичок в угловой.
Вы имели в виду это?
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
<span><i class="fa fa-star colored"></i>
<i>{{d.stars.length}}</i>
</span>
длина автоматически обновится.
ng-repeat='star in d.stars.length...'