我正在 angular 中的小部件面板上工作和 packery 。
我想做的是绑定(bind) packery 设置的订单将一个元素拖动到我的 $scope 项目上的范围变量“order”后,我可以执行诸如稍后保存订单之类的操作。我遇到了 $apply 方法,但我不确定如何正确调用它。我是 Angular 新手。任何帮助表示赞赏。
scope.$apply(function () {
scope.items[i].order = (i + 1);
});
请看我的 fiddle 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>
到项目模板。
关于javascript - AngularJS 从指令更新作用域变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25494145/