HTML视图无法看到AngularJS

时间:2014-08-07 18:08:09

标签: javascript angularjs

我正在使用AJAX使用AngularJS进行后端调用。我的调用成功返回JSON。此代码是用JavaScript文件编写的。

我在相同的代码库中有一个html文件,无法遍历此JSON。 我的JavaScript代码段如下:

        angular.module('kmapp').controller("FieldCodesCtrl", ['$scope', function($scope){

                var model =  {};

                console.log("FieldCodesCtrl");
                $http.get("/my/rest/URL").success(function (data) {
                    model.items = data;
                    console.log("data set on items");
                    $scope.fieldCodes = model;
                    console.log($scope.fieldCodes.items.length);
                });


               // $scope.fieldCodes = model;

            }]);

我的HTML如下:

            <tr ng-repeat="item in fieldCodes.items">
                <td>{{item.id}}</td>
                <td>{{item.comment}}</td>
            </tr>

我的问题是“fieldCodes.items”在html中没有任何内容。因此它不会显示我从JSON获得的ID和注释。

有人可以帮忙。我是AngularJS的新手。如果有明显的事情,请原谅我。

3 个答案:

答案 0 :(得分:1)

而不是使用model.items = data; ,使用model = data;否则它将无法正确定义。正如您在视图中使用(模型绑定)item.id看起来没问题。所以试试这个(model = data)希望这会有效。我可以回答你更多的说明,如果你可以发送样本JSON。

由于 \利雅

答案 1 :(得分:1)

需要将 $ http注入您的控制器。

.controller("FieldCodesCtrl", ['$scope', '$http', function($scope, $http){

确保您的模块已在文档中的HTML标记中注册。我认为它类似于&#34; ng-app。&#34;

答案 2 :(得分:0)

也许我正在查看这个错误,但似乎您要将此对象分配给model.items

{ fieldCodes: { 
    items: [
        { id: XXX name: CCC value: DD comment: AA }, 
        { id: aaaa name: aaaaadd value: ddf comment: ee }] 
    }
}

您不希望model = data.fieldCodes;能够使用fieldCodes.items吗?