0

我正在使用angularpackery的小部件面板。

我想要做的是在将一个元素拖到我的 $scope 项目上的范围变量“订单”之后绑定打包程序设置的订单,这样我就可以做一些事情,比如稍后保存订单我遇到了 $apply 方法,但我不确定如何正确调用它。我是角度的新手。任何帮助表示赞赏。

   scope.$apply(function () {
      scope.items[i].order = (i + 1);
   });

请看我的小提琴 http://jsfiddle.net/7c3ff83f/4/

4

1 回答 1

1

老实说,它变得有点令人困惑。您应该查看 angularjs ui-draggable 来处理所有这些问题。

您当前的问题是您在 itemElem 和索引之间的映射不正确,

现在,这不是最好的解决方案,但它说明了您遇到的问题:

修改代码为:

                   var index = parseInt($(itemElem)
                  .find('span.TX')
                  .text()); 

                  scope.$apply(function () {
                        scope.items[index].order =i+1;
                  });

并添加<span class="TX">{{$index}}</span>到项目模板。

http://jsfiddle.net/xzgc9aq7/

于 2014-08-25T21:40:43.727 回答