Angular ng-click:$ scope变量后跟promise,防止范围更新

时间:2015-08-07 17:10:39

标签: javascript html angularjs ionic angular-promise

我有一个ng-click函数,应该更改按钮文本并运行异步函数。

模板

<button ng-click="connect()">{{buttonTextConnect}}</button>

连接()

$scope.connect = function() {
    console.log('Try connecting');
    $scope.buttonTextConnect = 'Connecting...';

    thermProbe.connect().then(
        function() {
            $scope.connected = true;
        },
        function() {
            $scope.connected = false;
        }
      );
}

立即显示console.log。但$scope.buttonTextConnect不会更新按钮中的文本。

thermProbe.connect()是一个Angular承诺。

如果我注释掉异步调用thermProbe.connect(),则按钮文本会按预期更新。

这是一个有效的Ionic Play demo,按预期工作。单击时按钮文本会更改,并且稍后会解析承诺。

为什么异步调用会阻止$scope更改在模板中更新?

0 个答案:

没有答案