0

ユーザーが配送追跡番号を入力できるブートストラップ ダイアログ ボックスがあります。2 つのボタン - 1 つはキャンセル用、もう 1 つは発送用です。これにコントローラーが接続されます。成功したら、その注文のステータスを(ng-repeatedリストで)「出荷済み」に変更したいと思います。しかし、それは機能していません。ここで何が間違っていますか?

ダイアログ サブ コントローラーを持つコントローラー:

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>
4

1 に答える 1

0

わかりました-AngularBootstrapダイアログのバグです-0.2.0で修正されました-私は0.1.0を使用していました

于 2013-03-11T05:09:37.367 に答える