Tyl*_*den 2 javascript angularjs angularjs-directive
我使用角度计时器.
这有效:
{{ (seconds / 10) * 100 }}
Run Code Online (Sandbox Code Playgroud)
但是这个没有:
{{ (seconds / secondsToAnswer ) * 100 }
Run Code Online (Sandbox Code Playgroud)
(评估为NaN)
但是,我secondsToAnswer在控制器中设置为10:$scope.secondsToAnswer = 10;
它也发生在指令之外.
完整代码:
HTML
<timer interval="1000">
<div class="progress">
<div class="progress-bar progress-bar-info progress-bar-striped"
role="progressbar"
aria-valuenow="20"
aria-valuemin="0"
aria-valuemax="100"
style="width: {{ (seconds / secondsToAnswer) * 100 }}%">
</div>
</div>
</timer>
Run Code Online (Sandbox Code Playgroud)
JS
'use strict';
vocabApp.controller('PracticeController', function ($scope) {
$scope.expressions = [
{ expression:'cat', meaning:'macska' },
{ expression:'dog', meaning:'kutya' },
{ expression:'whale', meaning:'bálna' }
];
//$scope.timerRunning = true;
$scope.startTimer = function () {
$scope.secondsToAnswer = 10;
$scope.$broadcast('timer-start');
$scope.timerRunning = true;
};
$scope.stopTimer = function () {
$scope.$broadcast('timer-stop');
$scope.timerRunning = false;
};
$scope.$on('timer-stopped', function (event, args) {
console.log('timer-stopped args = ', args);
});
})
Run Code Online (Sandbox Code Playgroud)
这是因为$scope.secondsToAnswer = 10;只有在startTimer运行时才会执行,直到该时间$scope.secondsToAnswer未定义.
如果您$scope.secondsToAnswer = 10;在控制器中创建第一行,那么它应该可以工作.
| 归档时间: |
|
| 查看次数: |
2252 次 |
| 最近记录: |