簡體   English   中英

AngularJS $ http范圍問題

[英]AngularJS $http scope issue

我有一個引導對話框,用戶可以在其中輸入運輸跟蹤號。 2個按鈕-一個可以取消,另一個可以運送。 控制器與此相關。 成功后,我想將該訂單的狀態(在ng重復的列表中)更改為“已發貨”。 但這不起作用。 我在這里做錯了什么?

帶有對話框子控制器的控制器:

function ManageOrderCtrl($scope, $http, $dialog) {

  // Setup some dialog options for shipping popup
  var dialogOptions = {
    controller: 'ShipOrderCtrl',
    templateUrl: '/partials/order/_ship.html'
  };

  // Shipping action - launches popup for tracking #
  $scope.shipOrder = function(order){
      var itemToEdit = order;
     $dialog.dialog(angular.extend(dialogOptions, {
        resolve: {
          order: angular.copy(itemToEdit)
        }
      }
    ))
    .open()
     .then(function(result) {
      if(result) {
       angular.copy(result, itemToEdit);
       }
       itemToEdit = undefined;
     })
  };
}

// Shipping controller (injected in ship dialog)
function ShipOrderCtrl($scope, $http, order, dialog){
  $scope.order = order;

  // Called when they click "mark as shipped" on dialog
  $scope.ship = function() {

    dialog.close($scope.order);

     //This works fine from here
     //$scope.order.status = 'shipped';

    $http.put('api/order/ship/' + $scope.order._id, { 
      tracking: $scope.order.tracking 
    })
    .then(function(response) {

      // This doesn't work
      $scope.order.status = 'shipped';
    });
  };
  // Cancel the dialog
  $scope.close = function(){
    dialog.close(undefined);
  }; 
}

視圖:

<div ng-conroller="ManageOrderCtrl">
   <div ng-repeat="order in orders">
     <span class="status">{{ order.status }}</span>
     <a href="#"  ng-click="shipOrder(order)"></a>
   </div>
</div>

好的-這是Angular Bootstrap對話框中的錯誤-已在0.2.0中修復-我使用的是0.1.0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM