2016-07-22 113 views
0

我正在做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];     
      } 
     });  
    } 

有什么出路。请帮忙。谢谢

+0

我的编辑工作正常。但我想通过该ID作为URL参数。因此,如果我刷新页面,值将在输入框中保持完整 – AAT

+0

因此,这不是具有一些路由等的SPA,但是您仍然想要影响URL以防万一在显示编辑表单时发生不需要的页面刷新? –

+0

更具体的我的网址是:http:// localhost/myproject /#/ staffs/add_staff?id = 52。我如何在我的控制器中获得id值。我试过$ stateParams.id。 – AAT

回答

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});    
      } 
     });  
    } 
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" /> 

,并在控制器,采用了棱角分明的RouteParams得到的ID。 请参阅本link

0

您可以直接通过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 
} 
相关问题