AngularJS Timer 不适用于 Ajax Data


AngularJS Timer doesn't work with Ajax Data

我必须页面,其中一个是屏幕.php女巫显示一个表格,其中包含从数据中提取的数据.php间隔为 2 秒。

在屏幕中.php数据是这样拉取的:

 $(document).ready(function() {
   $.ajaxSetup({ cache: false }); 
      setInterval(function() {
   $('.container').load('data.php');
      }, 2000);
 });

在此之后,我制作了一个AngularJS计时器应用程序:

    angular.module('MyApp', ['timer'])
            .controller('MyAppController', ['$scope', function ($scope) {
                $scope.timerRunning = true;
                $scope.startTimer = function (){
                    $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);
                });
            }]);

第一个脚本(来自 data.php)返回的数据采用以下格式:

XXX XXXXXXXXXX XXXXXXXXX XXXXXXXX {{minutes}} : {{seconds}}

女巫应该在 00:00 中转换 {{分钟}} : {{秒}} ,因为在数据测试中.php归档是:

<timer start-time="<?php echo $dt; ?>">{{days}} days, {{hours}} hours, {{minutes}} minutes, {{seconds}} seconds.</timer>

我知道这可能是一个真正的菜鸟问题,但最好问.

我已经在屏幕.php页面中包含AngularJS,并用以下内容标记了boday:

body ng-app="MyApp"

任何帮助将不胜感激

附言对于投票反对这个问题的人,请评论为什么,所以我不会再犯同样的错误。

对于可能感兴趣的人,我完全放弃了 AngularJS 计时器,只是用 php 以分钟和秒为单位拉回已经计算的时间,所以它每 2 秒刷新一次,而且是一样的

    $ms=(strtotime($timeNow) * 1000)-(strtotime($row[6]) * 1000);
    $time=floor($ms/60000).':'.floor(($ms%60000)/1000);