我写了一个jquery插件,允许用户使用触摸或鼠标(kind of like this)来重获一个ul。这个插件可以很好地更新DOM,但我不确定如何告诉Angular“更新”模型绑定。具体地说,在移动了安莉之后,我在li中的ng-click不会触发。我还想更新$index,并告诉服务器新订单是什么。有什么想法吗?
HTML:
<ul class="unstyled" ng-sortable>
<li ng-repeat="item in list.Items">
{{item.QuantityType.Name}} {{item.Name}} {{index}}
<button class="close" ng-click="deleteItem($index)" aria-hidden="true">×</button></li></ul>指令:
.directive('ngSortable', function () {
return {
link: function (scope, element) {
angular.element(element).draggableTouch({ onSortEndCallback: function () { scope.finishedSorting(); } });
}
};
})编辑:添加了更多上下文的代码。
发布于 2013-11-16 06:57:03
假设ng-click="deleteItem($index)"不工作
我建议您传递item而不是$index,因此将您的代码更改为
ng-click="deleteItem(item)"您可以使用indexOf函数查找数组中的元素索引
scope.list.Items.indexOf(item)发布于 2013-11-16 06:57:13
在点击或触摸后调用插件中的控制器。您可以从控制器angular.element(domElement).scope()外部访问作用域,以获取元素的当前作用域。然后用插件中的数据更新$scope.sort (发送到服务器)和$index。
https://stackoverflow.com/questions/20011978
复制相似问题