Свойство name области не обновляется значением, возвращаемым из $ timeout.
$ timeout возвращает обещание, разрешенное значением, возвращаемым из предоставленной ему функции. И я прочитал привязки вида, чтобы принять обещания. Но это не работает для меня. Обновление атрибутов области, привязанных к обещаниям
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>
Не знаете, почему вы пытаетесь это сделать (возможно, это повлияло на реализацию $ resource?), Однако вы можете попробовать что-то [подобное] (http://plnkr.co/edit/jFXXFt?p=preview). Я не думаю, что привязки к представлению больше соглашаются с обещаниями, это была длинная история, которую я думаю. – PSL
@PSL, поэтому я читал старую статью !? –
Угадайте. Он был удален с 1,2 г. '$ parse и шаблоны вообще больше не будут автоматически разворачивать обещания. Эта функция устарела и, если она абсолютно необходима, ее можно повторно включить в переходный период через $ parseProvider.unwrapPromises (true) api. функция, добавленная в rc.2, которая разворачивает возвращаемые значения из функций, если значения являются обещаниями (если обезвреживание обещаний включено - см. предыдущую точку), было отменено из-за нарушения популярного шаблона использования. ' – PSL