Angularjs 在对象阵列上应用ng repeat显示[对象]

Angularjs 在对象阵列上应用ng repeat显示[对象],angularjs,angularjs-ng-repeat,angularjs-routing,Angularjs,Angularjs Ng Repeat,Angularjs Routing,我有一个控制器,看起来像这样: var PlayersController = function($scope, $http) { $http.get('/Players/Index').success(function (data) { console.log(data); $scope.players = data; }); } PlayersController.$inject = ['$scope','$http']; var Korp

我有一个控制器,看起来像这样:

var PlayersController = function($scope, $http) {
    $http.get('/Players/Index').success(function (data) {
        console.log(data);
        $scope.players = data;
    });
}

PlayersController.$inject = ['$scope','$http'];
var KorpenApp = angular.module('KorpenApp', ['ngRoute']);

KorpenApp.controller('HomeController', HomeController);
KorpenApp.controller('PlayersController', PlayersController);

var configFunction = function($routeProvider) {
    $routeProvider
        .when('/Players', { templateUrl: 'Players/Index', controller: PlayersController })
    .otherwise({redirectTo: '/'});
}

configFunction.$inject = ['$routeProvider'];
KorpenApp.config(configFunction);
<p>TEST</p>
<p>{{players.length}}</p>
<ul ng-repeat="player in players">
    <li ng-repeat="prop in player">
        {{prop}}
    </li>
</ul>
我的路由如下所示:

var PlayersController = function($scope, $http) {
    $http.get('/Players/Index').success(function (data) {
        console.log(data);
        $scope.players = data;
    });
}

PlayersController.$inject = ['$scope','$http'];
var KorpenApp = angular.module('KorpenApp', ['ngRoute']);

KorpenApp.controller('HomeController', HomeController);
KorpenApp.controller('PlayersController', PlayersController);

var configFunction = function($routeProvider) {
    $routeProvider
        .when('/Players', { templateUrl: 'Players/Index', controller: PlayersController })
    .otherwise({redirectTo: '/'});
}

configFunction.$inject = ['$routeProvider'];
KorpenApp.config(configFunction);
<p>TEST</p>
<p>{{players.length}}</p>
<ul ng-repeat="player in players">
    <li ng-repeat="prop in player">
        {{prop}}
    </li>
</ul>
我的视图(玩家/索引)如下所示:

var PlayersController = function($scope, $http) {
    $http.get('/Players/Index').success(function (data) {
        console.log(data);
        $scope.players = data;
    });
}

PlayersController.$inject = ['$scope','$http'];
var KorpenApp = angular.module('KorpenApp', ['ngRoute']);

KorpenApp.controller('HomeController', HomeController);
KorpenApp.controller('PlayersController', PlayersController);

var configFunction = function($routeProvider) {
    $routeProvider
        .when('/Players', { templateUrl: 'Players/Index', controller: PlayersController })
    .otherwise({redirectTo: '/'});
}

configFunction.$inject = ['$routeProvider'];
KorpenApp.config(configFunction);
<p>TEST</p>
<p>{{players.length}}</p>
<ul ng-repeat="player in players">
    <li ng-repeat="prop in player">
        {{prop}}
    </li>
</ul>
测试

{{players.length}

  • {{prop}}
播放器控制器中的控制台日志记录了一个包含5个对象的数组,这是应该的。这些对象包含我试图显示的许多属性。但是,“我的视图”仅显示:

[对象对象],[对象对象],[对象对象],[对象对象对象],[对象对象]

看起来视图中的所有内容都被忽略了,所以很明显我做错了什么。我本以为即使玩家数组出现问题,也至少会显示包含“TEST”的段落。所以我的两个问题是:

  • 为什么我的视图显示“[对象对象],[对象对象],[对象对象对象],[对象对象],[对象对象]”
  • 为什么我放在玩家/索引中的东西没有显示出来
  • 因为这就是打印对象的方式。如果需要此对象的json表示,请使用

    console.log(angular.toJson(data));
    
  • 很难说。可能视图实际上不在这个URL上。查看浏览器开发工具的“网络”选项卡,查看返回的内容


  • 您需要执行以下操作:

    var PlayersController = function($scope, $http) {
        $http.get('/Players/Index').success(function (data) {
            console.log(data);
            $scope.players = data;
        });
    }
    
    PlayersController.$inject = ['$scope','$http'];
    
    并且认为:

    <p>TEST</p>
    <p>{{players.length}}</p>
    <ul ng-repeat="player in players">
        {{player.prop}}
    </ul>
    
    测试

    {{players.length}

      {{player.prop}}

    您可以使用console.log(玩家)进行评论吗console.log显示:[Object,Object,Object,Object,Object]并且每个对象都有属性Id,FirstName,lastname,以便尝试使用console.log(angular.toJson(data));1.是的,但是为什么它显示在我的视图中?我找不到任何地方可以这样做。在控制台中是,但在视图中不是。2.在“网络”选项卡中,玩家/索引的状态为200 OK,因此它似乎存在。1。对不起,我误解了你的问题。我以为那是写在控制台上的。2.我刚刚意识到,您可以使用Players/Index来获取播放器(因此它应该返回一个JSON数组),并使用相同的URL来获取视图的HTML模板(因此它应该返回一个HTML模板)。修复其中一个URL。更改URL以使播放机正常工作,因此视图的URL与您最初回答的不一致。非常感谢。