我正在angularpackery中的小部件面板上工作。

我想做的是在$ scope项目上将元素拖动到作用域变量“ order”之后,绑定由packery设置的顺序,以便稍后执行诸如保存订单之类的操作。我遇到了$ apply方法,但不确定如何正确调用它。我是新手。任何帮助表示赞赏。

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


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

最佳答案

老实说,它变得令人困惑。您应该检查一下确保所有问题的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/

关于javascript - AngularJS从指令更新作用域变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25494145/

10-09 16:22