我正在1页中添加和编辑。清单如下表所示。当我点击编辑按钮时从列表中,我想在url中传递该项目的ID。因此,如果意外刷新页面,数据将保留在编辑表单中。而且我也在使用嵌套视图(例如:settings.couriers) 我的HTML
<button class="btn btn-primary btn-xs" ng-click="editCourier({id: x.id})">
<i class="fa fa-pencil"></i>
</button>
我的controller.js要编辑
$scope.editCourier = function(id, index) {
$.ajax({
'type': "POST",
'async': false,
'global': false,
'url':'settings/editCourier',
'data': 'id='+id,
'dataType': "json",
'success': function (data) {
$scope.formData = data[0];
}
});
}
有什么出路吗?请帮忙。谢谢
答案 0 :(得分:0)
变化:
<button class="btn btn-primary btn-xs" ng-click="editCourier({id: x.id})">
<i class="fa fa-pencil"></i>
</button>
到:
<a href="/editCourier/id" />
并在控制器中,使用Angular的RouteParams获取Id。 请参阅此link
答案 1 :(得分:0)
您可以直接将id传递给Function editCourier(x.id)
<button class="btn btn-primary btn-xs" ng-click="editCourier(x.id)">
<i class="fa fa-pencil"></i>
</button>
并在控制器中
$scope.editCourier = function(id, index) {
console.log(id);//Check here whether the click id is coming or not
}
答案 2 :(得分:0)
将我的HTML更改为
<button class="btn btn-primary btn-xs" ng-click="editCourier(index)">
<i class="fa fa-pencil"></i>
</button>
我更改了控制器功能。
$scope.editCourier = function(index) {
$.ajax({
'type': "POST",
'async': false,
'global': false,
'url':'settings/editCourier',
'data': 'id='+ $stateParams.id,
'dataType': "json",
'success': function (data) {
$scope.formData = data[0];
$scope.couriers.splice(index, 1);
$state.go('statename', {id: $stateParams.id}, {reload: true});
}
});
}