【问题标题】:How do I use this format of JSON in ng-repeat如何在 ng-repeat 中使用这种格式的 JSON
【发布时间】:2016-07-07 19:03:39
【问题描述】:

这是我使用的 JSON 和控制器:

JSON 格式:

       {"networks":[{"longName":"lo"},{"longName":"eth0"}]}

工厂:

app.factory('networkFactory', [ '$http', 
                                    function($http) {
                                        return $http.get("http://localhost:8080/JAXRS-RESTEasy/rest/toolservice/network")
                                            .success(function(data) {
                                                return data;
                                            }).error(function(err) {
                                                return err;
                                            })
                                        } ]);

控制器:

app.controller('networkController', [ '$scope', 'networkFactory',
                                        function($scope, jsonFactory) {
                                            jsonFactory.success(function(data) {
                                                    $scope.network = data;
                                    });
                                }]);

HTML:

<div ng-controller="networkController">
   <table class="table">
     <tr ng-repeat="x in network">
            <td>{{x.longName}}</td>
     <tr>
   </table>
</div>

所以我尝试了这个,但名称没有出现,它们似乎没有加载到 html 中。

我做错了什么,JSON 前面的“网络”这个词会影响我阅读 JSON 的方式吗?

谢谢。

【问题讨论】:

  • 找到了解决办法,我用ng-repeat="x in network.networks"代替ng-repeat="x in network"
  • 您可以修改 $scope.network=data.networks 而不是 network.netwroks。这是始终遵循的好方法。

标签: html angularjs json angularjs-ng-repeat angularjs-controller


【解决方案1】:

这里是笨蛋http://plnkr.co/edit/x0zCgzNGggBueBFlg0H5?p=preview

var app=angular.module('myApp',[])
app.factory('networkFactory', [ '$http', 
                                    function($http) {
                                        return $http.get("tag.json")
                                            .success(function(data) {
                                                return data;
                                            }).error(function(err) {
                                                return err;
                                            })

                                        } ]);


                                        app.controller('networkController', [ '$scope', 'networkFactory',
                                        function($scope, networkFactory) {
                                            networkFactory.success(function(data) {
                                              debugger
                                                    $scope.network = data.networks;
                                    });
                                }]);

【讨论】:

  • 请标记它已接受,以便其他人发现它有用,谢谢,并提高您的声誉。
  • successerror 方法已弃用,请勿使用。
  • 然后可以使用方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-08
  • 2015-05-19
相关资源
最近更新 更多