2016-05-13 3 views
0

私はangle-dragulaを使って少しのテストコードを作成していますが、ドラッグアンドドロップ操作ができましたが、ソースデータ配列を更新していません。Dragula-model not upating source array

が、私は、角度コントローラでいくつかの変数宣言:

$scope.todos=['Stuff','Thangs']; 
$scope.plan=new Array(($scope.endTime - $scope.startTime)*(60/$scope.timeBlock)); 

for(var i=0;i<$scope.plan.length;i++){ 
    $scope.plan[i]=["-"]; 
} 

おそらく初期化するための最良の方法をHTEされていませんが、私は、配列の配列を取得し、「プレースホルダ」の文字を含む各。

HTMLはその後、これを引き出す:

<div ng-app='dayplannerApp' ng-controller="MainCtrl"> 
    <div class='wrapper'> 
    <button ng-click='dump()'>Dump</button> 
    <div class='container' id='source-box' dragula='"first-bag"' dragula-model='todos'> 
    <div id="source" ng-repeat='text in todos' ng-bind='text'></div> 
    </div> 
    <hr> 
    <div class='container'><pre>{{plan[0] | json}}</pre></div> 
    <div class='container'><pre>{{plan[1] | json}}</pre></div> 
    <hr> 
    <table ng-repeat="n in Range()" border='1'> 
    <tr ng-class-odd="'odd'" ng-class-even="'even'" ><td width='20%'>{{n}}</td><td> 
     <div class='container' dragula='"first-bag"' dragula-model='plan[$index]'> 
     <div ng-attr-id="{{ 'block-' + n}}" ng-repeat='text in plan[$index]' ng-bind='text' ng-click='setId($event)'></div> 
     </div></td></tr> 
    </table> 
</div> 
    </div> 

これが動作しているようです、私はNGリピートが含まれており、そこにそれらをドロップすることができdiv要素にかけて「もの」や「thangs」をドラッグすることができますが、最初の2つの行にあるものを削除すると、2つの「プリ」コンテナが更新されます。

しかし、私はして基礎となる「計画」のアレイをダンプしよう:私は唯一のプレースホルダを持つ配列の元の配列を取得

console.log($scope.plan); 

。モデル割り当てに何か問題がありますか?またはバインディング?なぜ計画[1]はdivで更新されますが、javascriptでは更新されませんか?私がやることに成功し何

答えて

0

はで再書きました:

for (var hour = $scope.startTime; hour < $scope.endTime; hour++) { 
     for (var mins = 0; mins < 60; mins+=$scope.timeBlock){ 
     var minVal = mins; 
     if (mins===0){ 
      minVal='00'; 
     } 
     result.push(
      { 
      'Time': hour + ':' + minVal, 
      'ToDo': [] 
      }); 
     } 
    } 
    return result; 

それから私はソースとしてことを使用:問題は何であったか

<table border=1 style="table-layout:fixed;"> 
     <tr><th width='10%'>Time</th><th width='80%'>Activity</th><th width='5%'>Drop here</th></tr> 
     <span> 
     <tr ng-repeat="n in Day" ng-class-odd="'odd'" ng-class-even="'even'" > 
      <td width='20%'>{{n.Time}}</td> 
      <td width='80%'>{{n.ToDo[0]}}</td> 
      <td width='10%' style='background-color:black;overflow:hidden' class='container' dragula='"first-bag"' dragula-model='n.ToDo'> 
       {{n.ToDo}} 
      </td> 
     </tr> 
     </span> 
     </table> 

本当にわかりません。モデルが更新されないので、計画[$ index]ですか?