2014-10-27 81 views
0

我可以在单个视图中的两个表格之间拖放。除了第一次尝试在页面加载后进行拖放之外,它每次都会显示数据。Data-GPS-Draggable没有正确显示 - AngularJS

AngularJS会导致这种情况有哪些缺陷?我一直无法找到解决方案。这里是我的代码:

 function dropOnMch(dragEl, dropEl) { 
     var dragScope = angular.element(dragEl).scope(); 
     var dropScope = angular.element(dropEl).scope(); 

     if (dragScope.planDesign) { 
      var mchPlan = { 
       CustomerNumber: vm.customer.CustomerNumber, 
       PlanCode: dragScope.planDesign.PlanCode, 
       ContractNumber: dragScope.planDesign.ContractNumber, 
       PlanEffectiveDate: new moment().add('m', 1).startOf('month'), 
       PlanStatusDate: new moment().add('m', 1).startOf('month'), 
       ChangeEffectiveDate: vm.changeEffectiveDate, 
       PlanStatus: 'A' 
      } 

      var mch2 = replicatedDataService.createEntity('Mch2', mchPlan) 
      vm.mchPlans.push(mch2); 
     }   

     $scope.$apply(); 
    } 

这里是我的HTML表:

 <table class="table " data-gps-droppable="vm.dropOnMch(dragEl, dropEl)"> 
     <thead> 
      <tr> 
       <th></th> 
       <th>Customer Number</th> 
       <th>PlanCode</th> 
       <th>Contract Number</th> 
       <th>Plan Effective Date</th> 
       <th>Status</th> 
       <th>Status Date</th> 
       <th>Trust Number</th> 
      </tr> 
     </thead> 
     <tr ng-repeat="plan in vm.mchPlans"> 
      <td><i class="fa fa-times" ng-click="vm.remove(plan)"></i></td> 
      <td><span ng-bind="plan.CustomerNumber"></span></td> 
      <td><span ng-bind="plan.PlanCode" />   </td> 
      <td><span ng-bind="plan.ContractNumber" /> </td> 
      <td><input type="date" ng-model="plan.PlanEffectiveDate" z-validate /> </td> 
      <td><select ng-model="plan.PlanStatus" ng-options="status for status in vm.planStatuses" z-validate />  </td> 
      <td><input type="date" ng-model="plan.PlanStatusDate" z-validate /> </td> 
      <td><input type="text" ng-model="plan.TrustNumber" z-validate />  </td> 
     </tr> 

     <tr> 
      <td colspan="99">Drop Plans Here to add them.</td> 
     </tr> 
    </table> 

回答

0

答案是做任何操作推

var manager = new breeze.EntityManager("api/breeze"); 

function fetchMetadata() { 

    if (manager.metadataStore.isEmpty()) { 
     return manager.fetchMetadata(); 
    } 

    return Q.resolve(); 
} 
之前把元数据存储获取回调