$摘要后,值变为未定义

时间:2015-10-24 20:00:28

标签: javascript angularjs typescript

Angular JS 1.4.7 +打字稿; 这是一个then(),称为内部控制器。

在$ digest之前,此代码打印实际对象值(selectedCity对象)。 $摘要后,此代码打印undefined。但为什么呢?

  .then((response:any) => {
    console.log("city " + stringify(response));

    $timeout(() => {
      this.selectedCity = response;
      console.log("before digest: " + stringify(this.selectedCity));
      $scope.$digest();
      console.log("after digest: " + stringify(this.selectedCity));
    });

    return response;
  });

1 个答案:

答案 0 :(得分:0)

  

$摘要后,此代码打印undefined。但为什么

因为$digest进行范围绑定传播。例如。如果将foo带入具有隔离范围的指令中并且指令修改它,则除非$digest处于活动状态,否则不会发生更改。