我有一个带有问题的json文件,所以是一个数组。我想让所有问题都是随机的。这是我在js文件中的代码,但我不知道为什么不起作用。
$http.get('quiz_data.json').then(function(quizData){
$scope.myQuestions = quizData.data;
$scope.myQuestions = Math.floor(Math.random()*2);
});
并在html中
<div ng-repeat="myQuestion in myQuestions">
<p class="txt">{{myQuestion.question}}</p></div>
答案 0 :(得分:5)
使用:
$("#x").click(function(){
$("#y").val($(this).val());
});
并且在视野中: {{randomQuestion}}
更新:
$scope.randomQuestion= $scope.myQuestions[Math.floor(Math.random() * $scope.myQuestions.length)];
HTML:
$http.get('quiz_data.json').then(function(quizData){
$scope.myQuestions = quizData.data;
$scope.randomQuestion= $scope.myQuestions[Math.floor(Math.random() * $scope.myQuestions.length)];
});
最终更新:
所以,实际的问题并非随机化而是拖延问题:
在您的js文件中:
<div ng-repeat="myQuestion in myQuestions">
<p class="txt">{{randomQuestion.question}}</p></div>
您的HTML:
function shuffleArray(array) {
var m = array.length,
t, i;
// While there remain elements to shuffle
while (m) {
// Pick a remaining element…
i = Math.floor(Math.random() * m--);
// And swap it with the current element.
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
// access the http service
// quizData object = data from quiz_data.json
$http.get('quiz_data.json').then(function(quizData) {
$scope.myQuestions = quizData.data;
$scope.totalQuestions = $scope.myQuestions.length;
shuffleArray($scope.myQuestions);
});
答案 1 :(得分:1)
这一行:
text
覆盖您的问题数组并将其转换为随机数。我想你想把它作为一个数组来访问它,如下所示:
$scope.myQuestions = Math.floor(Math.random()*2);