如何使用angularjs将参数传递给控制器的url
问题描述:
我正在做1页的添加和编辑。清单显示在下面的表格中。从列表中点击编辑按钮时,我想在URL中传递该项目的ID。因此,如果意外刷新页面,数据将保留在编辑表单中。而且我使用嵌套的视图(例如:settings.couriers) 我的HTML如何使用angularjs将参数传递给控制器的url
<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];
}
});
}
有什么出路。请帮忙。谢谢
答
改变了我的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});
}
});
}
答
变化:
<button class="btn btn-primary btn-xs" ng-click="editCourier({id: x.id})">
<i class="fa fa-pencil"></i>
</button>
到:
<a href="/editCourier/id" />
,并在控制器,采用了棱角分明的RouteParams得到的ID。 请参阅本link
答
您可以直接通过ID到功能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
}
我的编辑工作正常。但我想通过该ID作为URL参数。因此,如果我刷新页面,值将在输入框中保持完整 – AAT
因此,这不是具有一些路由等的SPA,但是您仍然想要影响URL以防万一在显示编辑表单时发生不需要的页面刷新? –
更具体的我的网址是:http:// localhost/myproject /#/ staffs/add_staff?id = 52。我如何在我的控制器中获得id值。我试过$ stateParams.id。 – AAT