范围的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>
答案 0 :(得分:3)
将其更改为
$timeout(function () {
$scope.name = "World";
}, 3000);
答案 1 :(得分:2)
您使用$timeout
功能的方式是错误的,请改为:
$timeout(function () {
$scope.name = "World";
}, 3000);
$timeout
函数检索一个promise,而不是内部函数的return
值。