我有这个测验AngularJS应用程序,我有两种类型的问题:
简单 - 您需要选择1个或2个选项来回答问题,然后转到下一个问题。
范围滑块 - 您需要拖动范围滑块,当用户停止拖动时,我正在验证答案并转到下一个问题。
< / LI> 醇>我正在使用ng-if显示当前问题(当前$ index = $ scope.currentQuestion,每次回答问题时我都会加1)。
在简单的问题上,一切都有效,但在用户停止拖动后范围滑块问题,在显示下一个问题之前会有1-2秒的延迟。
我需要再次点击页面上的某个位置才能看到下一个问题。
有人可以解释一下为什么它不会像简单的问题那样更新瞬间以及为什么会出现这种延迟?
.controller('MainCtrl', function($scope) {
$scope.currentQuestion = 0;
$scope.isCurrentQuestion = function(index) {
return $scope.currentQuestion === index
};
$scope.$on('question:answered', function(event, data) {
$scope.currentQuestion = data.current;
});
$scope.questions = [{
'title': 'test #1',
'type': 1,
'choices': ['Choice #1', 'Choice #2', 'Choice #3', 'Choice #4'],
// othe stuff
}, {
'title': 'test #2',
'type': 2
// othe stuff
}, {
'title': 'test #3',
'type': 2
// othe stuff
}];
})
http://plnkr.co/edit/EiymOBRcpxoDQQlnHjqV?p=preview
顺便说一下。我正在使用https://github.com/angular-ui/ui-slider此指令作为范围滑块。