我是AngularJS的新手,并且在加载数据时无法获取资源的承诺以重新呈现视图。这导致{{}}被空白(来自承诺)取代,但视图仍然保持这种状态。Angular的Resource Promise在数据加载时不会重新渲染
我已经看到了很多的问题的例子与承诺正在以$解决申请,$消化,$腕表等,并愿意接受这些建议被很想知道我的做法的根本问题。这里是我的控制器代码
<div ng-controller='pook'>
<p>There are {{posts.length}} posts</p>
<div ng-repeat='post in posts'>
<h3>{{post.title}}</h3>
<div>{{post.text}}</div>
<a href='/readPost/{{post.id}}'>More</a>
| -
<a href='/editPost/{{post.id}}'>Edit</a>
| -
<a href='/deletePost/{{post.id}}'>Delete</a>
</div>
</div>
<script type='text/javascript'>function pook($scope, $http, $route, $routeParams, $resource)
{
/*Approach #1 does work
$http.post('/').success(function(data, status, headers, config)
{
$scope.posts = data.posts;
});
*/
var User = $resource('/');
/*Approach #2 does work
User.save('', function(data)
{
$scope.posts = data.posts;
})
*/
//Approach #3 does NOT work -> renders blanks and never re-renders on loaded data
$scope.posts = User.save().posts
}
</script>
我加载脚本
//ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js' //ajax.googleapis .COM/AJAX /库/ angularjs/1.0.5 /角resource.min.js'
我想要的承诺行为的描述是在这里 http://docs.angularjs.org/api/ngResource $资源
看起来好像你需要多花一点时间学习如何构造角码。另外请注意,$ resource'创建了一个资源对象,它允许您与RESTful服务器端数据源进行交互(来自角度文档)。从你的例子看来,你看起来并不像是在呼唤一个宁静的服务。如果您只想进行常规的ajax调用,那么使用低级别的$ http服务并将其包装在自定义服务中,以在发生任何错误之前中断您的应用程序。查看http://www.yearofmoo.com了解这个和其他有用的例子。 – supermasher 2013-03-02 10:24:21