代码之家  ›  专栏  ›  技术社区  ›  Harsha Jasti

使用计时器时角度图表不实时更新图表[重复]

  •  0
  • Harsha Jasti  · 技术社区  · 6 年前

    基于更改变量的值,我希望在html中显示一条错误消息。我从angular代码中调用一个api,如果它返回错误,我就设置了一个setInterval函数,该函数应该更新bookingData.tracking\u id设置为false,然后在html中显示错误消息。这应该很容易,但将其与setInterval结合起来却有点困难。

    this.confirmTrackingTest = function () {
      TestService.finalPackageCheck({tracking_id: controller.bookingData.tracking_id}).$promise.then(function (data) {
        return data;
      }).catch(function (err) {
        var i = 0;
        var interval = setInterval(function () {
          i += 1;
          if (i === 3) {
            if (err.statusText === "Not Found") {
              controller.bookingData.showErrorMessage = true;
            }
            clearInterval(interval)
          }
        }, 2000);
        console.log(controller.bookingData.showErrorMessage)
      });
    }
    
    this.bookingData = {
      showErrorMessage: false,
      tracking_id: 1
    };
    

    这是你的名字 :

    {{Packs.bookingData.showErrorMessage}}
    <div class="alert alert-danger" role="alert" ng-if="Test.bookingData.showErrorMessage">
      <p>Please show this message</p>
    </div>
    

    这个 {{Packs.bookingData.showErrorMessage}}

    如果需要进一步的信息,请告诉我。

    0 回复  |  直到 6 年前
        1
  •  9
  •   devnull69    9 年前

    这正是棱角分明的神发明的原因 $interval 为了消除手动使用的需要 $apply .

    所以要么你打电话 $scope.$apply 在回调中或使用 (不要忘记将其包含在依赖注入的参数列表中)