我在下面使用ng-repeat:
<div ng-repeat="quote in quotes">
{{quote.value}}
</div>
迭代引号变量:
app.controller("MainController", function($scope){
$scope.quotes = [
{
value: "q1"
},
{
value: "q2"
},
];
});
我想从这个引号变量中只选择一个随机元素,而不是遍历整个数组。在angualrjs中是否有指令可用于实现此目的?
答案 0 :(得分:12)
您可以使用此选项:“Getting a random value from a JavaScript array获取随机值。
$scope.randomQuote = $scope.quotes[Math.floor(Math.random() * $scope.quotes.length)];
答案 1 :(得分:1)
如果找不到指令,我们可以在没有任何指令的情况下实现这一点:
以下方法将范围内的int随机化
getRandomIndex = function(){
return Math.floor(Math.random() * (max - min + 1)) + min;
}
所以在我们的例子中:min应该为零,max应该是数组的长度 - 1
app.controller("MainController", function($scope){
$scope.getRandomIndex = function(length){
return Math.floor(Math.random() * length);
}
$scope.quotes = [
{
value: "q1"
},
{
value: "q2"
},
];
});
<div ng-controller="MainController">
<div ng-repeat="q in quotes">
<p> {{quotes[getRandomIndex(quotes.length)].value}} </p>
</div>
</div>