我如何使用 ng-repeat 迭代这个数组对象
How do i iterate this object of array using ng-repeat
我的控制台中返回了以下数组对象,现在我想做的是在我的 index.html 文件中使用 ng-repeat 对其进行迭代,所以我将如何在这里返回 json:-
{body: ["xx", "x", "x", "vinit↵", "gyghg", "hjhghg", "j", "jj", "bn", "ss"]}
我的app.js:-
var app = angular.module('myApp',[]);
app.controller('movie',['$http','$scope',function($http,$scope) {
$scope.products = [];
$http.get('blog/').then(successCallback, errorCallback);
function successCallback(response){
products=response.data;
console.log(products);
}
function errorCallback(error){
console.log(error);
}
// body...
}]);
这里我正在做的是在我的 index.html 中迭代这些对象:-
<div ng-repeat="item in products">
<ul>
<li>{{item.body}}</li>
</ul>
</div>
但是它没有在屏幕上打印任何东西,我想要的是在那个 li 标签中打印那些数组元素。
试试这个
var app = angular.module('myApp',[]);
app.controller('movie',['$http','$scope',function($http,$scope) {
$scope.products = [];
$http.get('blog/').then(successCallback, errorCallback);
function successCallback(response){
$scope.products=response.data;
console.log($scope.products);
}
function errorCallback(error){
console.log(error);
}
// body...
}]);
你应该有一个 $scope 变量产品,
改变
来自
products=response.data;
至
$scope.products=response.data;
您应该可以在 ,
中访问
<div ng-repeat="item in products">
<ul>
<li>{{item}}</li>
</ul>
</div>
将 products=response.data;
更改为 $scope.products=response.data;
并将{{item.body}}更改为{{item}}
<div ng-repeat="item in products">
<ul>
<li>{{item}}</li>
</ul>
</div>
试试这个
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<script type="text/javascript">
angular.module("app", []).controller('Controller', Controller);
function Controller($scope, $http) {
var res = {body: ["xx", "x", "x", "vinit↵", "gyghg", "hjhghg", "j", "jj", "bn", "ss"]};
$scope.products = res.body;
}
</script>
</head>
<body>
<div ng-app="app" ng-controller="Controller" class="container">
<div ng-repeat="item in products track by $index">
<ul>
<li>{{item}}</li>
</ul>
</div>
</div>
</body>
</html>
需要将 products=response.data;
更改为 $scope.products=response.data;
将响应值分配给 angular 范围变量以在 html 页面中访问该值。
并将{{item.body}}更改为{{item}}
<li>{{item}}</li>
正如大家所说,你需要更换
products=response.data;
到
$scope.products=response.data;
之后,在视图中,你想要迭代主体元素,所以:
<div ng-repeat="item in products.body">
<ul>
<li>{{item}}</li>
</ul>
我的控制台中返回了以下数组对象,现在我想做的是在我的 index.html 文件中使用 ng-repeat 对其进行迭代,所以我将如何在这里返回 json:-
{body: ["xx", "x", "x", "vinit↵", "gyghg", "hjhghg", "j", "jj", "bn", "ss"]}
我的app.js:-
var app = angular.module('myApp',[]);
app.controller('movie',['$http','$scope',function($http,$scope) {
$scope.products = [];
$http.get('blog/').then(successCallback, errorCallback);
function successCallback(response){
products=response.data;
console.log(products);
}
function errorCallback(error){
console.log(error);
}
// body...
}]);
这里我正在做的是在我的 index.html 中迭代这些对象:-
<div ng-repeat="item in products">
<ul>
<li>{{item.body}}</li>
</ul>
</div>
但是它没有在屏幕上打印任何东西,我想要的是在那个 li 标签中打印那些数组元素。
试试这个
var app = angular.module('myApp',[]);
app.controller('movie',['$http','$scope',function($http,$scope) {
$scope.products = [];
$http.get('blog/').then(successCallback, errorCallback);
function successCallback(response){
$scope.products=response.data;
console.log($scope.products);
}
function errorCallback(error){
console.log(error);
}
// body...
}]);
你应该有一个 $scope 变量产品,
改变
来自
products=response.data;
至
$scope.products=response.data;
您应该可以在 ,
中访问<div ng-repeat="item in products">
<ul>
<li>{{item}}</li>
</ul>
</div>
将 products=response.data;
更改为 $scope.products=response.data;
并将{{item.body}}更改为{{item}}
<div ng-repeat="item in products">
<ul>
<li>{{item}}</li>
</ul>
</div>
试试这个
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.11/angular.min.js"></script>
<script type="text/javascript">
angular.module("app", []).controller('Controller', Controller);
function Controller($scope, $http) {
var res = {body: ["xx", "x", "x", "vinit↵", "gyghg", "hjhghg", "j", "jj", "bn", "ss"]};
$scope.products = res.body;
}
</script>
</head>
<body>
<div ng-app="app" ng-controller="Controller" class="container">
<div ng-repeat="item in products track by $index">
<ul>
<li>{{item}}</li>
</ul>
</div>
</div>
</body>
</html>
需要将 products=response.data;
更改为 $scope.products=response.data;
将响应值分配给 angular 范围变量以在 html 页面中访问该值。
并将{{item.body}}更改为{{item}}
<li>{{item}}</li>
正如大家所说,你需要更换
products=response.data;
到
$scope.products=response.data;
之后,在视图中,你想要迭代主体元素,所以:
<div ng-repeat="item in products.body">
<ul>
<li>{{item}}</li>
</ul>