2016-07-22 136 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 
} 
相關問題