我刚刚发现了Angular“ Restangular”库,哦,我的确不错!但是,在执行一些简单的GET请求时,我遇到了麻烦。我只是尝试并尝试从我的API路由之一返回JSON对象的列表。对服务器的GET请求已成功发出,但是当我尝试将结果绑定到$ scope对象并显示它们时,似乎无法正常工作。请参考我初始化的控制器脚本,并使用getList()方法检索对象列表。
angular.module("app")
.controller("BlogsController", function ($scope, $location, Restangular) {
var Blogs = Restangular.all("blogs");
$scope.list = function () {
$scope.blogs = Blogs.getList("blogs");
}
我已经绑定了HTML页面上的“ list()”函数,并且正在使用ng-repeat指令遍历所有JSON对象。这是我的HTML标记如下:
<tr data-ng-repeat="blog in blogs">
<td>{{blog.title}}</td>
<td>{{blog.category}}</td>
<td>{{blog.author}}</td>
<td>{{blog.content}}</td>
<td>{{blog.createdOn}}</td>
</tr>
我对AngularJs框架非常陌生,想知道是否有人知道我所面临的潜在问题。请发表评论,让我知道需要解决的问题。所有的答案将不胜感激,谢谢。
最佳答案
您必须使用$object
返回的诺言的getList()
属性。解决承诺后,将在此处填充来自HTTP响应的值。
$scope.blogs = Blogs.getList("blogs").$object;
取值的另一种更显式且不太“神奇”的方法是将回调附加到
getList()
返回的promise,当promise解析后将被调用:Blogs.getList("blogs").then(function(blogs) {
// Success callback
$scope.blogs = blogs;
}, function(error) {
// Error callback
console.log("we had an error here ...");
});