我刚刚发现了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 ...");
});

10-02 05:40