Angular ng-repeat 不适用于 $http.post
Angular ng-repeat not working with $http.post
我已经尝试了很长时间来解决我的问题。问题是在通过 post 方法获取数据后,我的 HTML 内容没有更新。 $routeProvider
正在修改我的页面,代码如下:
socialGroup.config(function($routeProvider) {
$routeProvider.when('/my-groups', {
templateUrl: 'my-groups.html'
}).otherwise({ templateUrl: 'dashboard.html' });
});
查看
<script type="text/ng-template" id="my-groups.html">
<div data-ng-controller="myGroups" class="form">
<div class="row">
<div class="col-md-12 col-sm-12"><h1>My Groups</h1></div>
</div>
<br/>
<div class="col-md-12 col-sm-12">
<table class="table table-hover table-inverse">
<thead>
<tr class="success">
<th>SN</th>
<th><i class="fa fa-users" aria-hidden="true"></i>Group Name</th>
<th><i class="fa fa-wrench" aria-hidden="true"></i>Action</th>
<th><i class="fa fa-sun-o" aria-hidden="true"></i>Status</th>
</tr>
</thead>
<tbody>
<div class="row" data-ng-repeat="group in groups">
<tr class="info">
<th scope="row">{{group.id}}</th>
<td>
<a href="#/stays-group/{{group.token}}" class="text-info" title="View {{group.name}} posts.">
<b>{{group.name}}</b>
</a>
</td>
<td>
<a href="{{group.link}}" title="{{group.label}}">
<b>{{group.label}}</b>
</a>
</td>
<td title="Group is active">
<label data-ng-show="group.active" class="text-success" ><b>Active</b></label>
<label data-ng-hide="group.active" class="text-danger" ><b>Inactive</b></label>
</td>
</tr>
</div>
</tbody>
</table>
</div>
</div>
</script>
控制器
socialGroup.controller('myGroups', function($scope, $http) {
$scope.groups = [];
$http({
method: "post",
url: 'my-groups-link',
data: $.param({ token:sha1( Math.random() ) }),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function success(response) {
$scope.groups = response.data;
//$scope.$apply();
//$scope.$applyAsync();
console.log($scope.groups);
}, function error(response) {});
});
我观察了我的控制台并显示数据来自服务器,但数据没有更新以供查看。
如有任何建议,我们将不胜感激。
不确定这是否是问题所在,但您不能在 <tr>
中设置 <div>
只需在 <tr>
上使用 ng-repeat
循环您的数据
<tbody>
<tr class="info" data-ng-repeat="group in groups">
我已经尝试了很长时间来解决我的问题。问题是在通过 post 方法获取数据后,我的 HTML 内容没有更新。 $routeProvider
正在修改我的页面,代码如下:
socialGroup.config(function($routeProvider) {
$routeProvider.when('/my-groups', {
templateUrl: 'my-groups.html'
}).otherwise({ templateUrl: 'dashboard.html' });
});
查看
<script type="text/ng-template" id="my-groups.html">
<div data-ng-controller="myGroups" class="form">
<div class="row">
<div class="col-md-12 col-sm-12"><h1>My Groups</h1></div>
</div>
<br/>
<div class="col-md-12 col-sm-12">
<table class="table table-hover table-inverse">
<thead>
<tr class="success">
<th>SN</th>
<th><i class="fa fa-users" aria-hidden="true"></i>Group Name</th>
<th><i class="fa fa-wrench" aria-hidden="true"></i>Action</th>
<th><i class="fa fa-sun-o" aria-hidden="true"></i>Status</th>
</tr>
</thead>
<tbody>
<div class="row" data-ng-repeat="group in groups">
<tr class="info">
<th scope="row">{{group.id}}</th>
<td>
<a href="#/stays-group/{{group.token}}" class="text-info" title="View {{group.name}} posts.">
<b>{{group.name}}</b>
</a>
</td>
<td>
<a href="{{group.link}}" title="{{group.label}}">
<b>{{group.label}}</b>
</a>
</td>
<td title="Group is active">
<label data-ng-show="group.active" class="text-success" ><b>Active</b></label>
<label data-ng-hide="group.active" class="text-danger" ><b>Inactive</b></label>
</td>
</tr>
</div>
</tbody>
</table>
</div>
</div>
</script>
控制器
socialGroup.controller('myGroups', function($scope, $http) {
$scope.groups = [];
$http({
method: "post",
url: 'my-groups-link',
data: $.param({ token:sha1( Math.random() ) }),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(function success(response) {
$scope.groups = response.data;
//$scope.$apply();
//$scope.$applyAsync();
console.log($scope.groups);
}, function error(response) {});
});
我观察了我的控制台并显示数据来自服务器,但数据没有更新以供查看。
如有任何建议,我们将不胜感激。
不确定这是否是问题所在,但您不能在 <tr>
<div>
只需在 <tr>
ng-repeat
循环您的数据
<tbody>
<tr class="info" data-ng-repeat="group in groups">