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”的段落。所以我的两个问题是:
console.log(angular.toJson(data));
您需要执行以下操作:
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与您最初回答的不一致。非常感谢。