0
我正在使用角拖动一个小测试代码,我设法得到拖放的东西工作,但它不更新源数据数组。Dragula模型没有更新源数组
我声明在角度控制器的一些变量:
$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>
这似乎是工作,我可以拖动“东西”或“thangs”到包含NG重复并在那里把它们的div中,如果我把东西放在前两行,两个“pre”容器就会更新。
但是,当我尝试转储底层“规划”阵:
console.log($scope.plan);
我只是得到阵列的原始数组只用占位符。我在做模型任务时出错了吗?或绑定?为什么计划[1]在div中更新,但不是在javascript中?