更新使用promises绑定的范围属性

时间:2014-09-24 00:47:21

标签: angularjs

范围的name属性不会使用$ timeout返回的值进行更新 $ timeout返回由提供给它的函数返回的值解析的promise。我读了视图绑定接受承诺。但它对我不起作用。

      angular.module('myApp',[]).controller('ctrl',function($scope,$timeout){


          $scope.name = $timeout(function () {
              return "World";
          }, 3000);
      })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="myApp" ng-controller="ctrl">
<h1>Hello, {{name}}!</h1>

</body>

2 个答案:

答案 0 :(得分:3)

将其更改为

$timeout(function () {
    $scope.name = "World";
}, 3000);

答案 1 :(得分:2)

您使用$timeout功能的方式是错误的,请改为:

      $timeout(function () {
          $scope.name = "World";
      }, 3000);

$timeout函数检索一个promise,而不是内部函数的return值。