首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Angularjs中重新排序列表会中断ng-click

在Angularjs中重新排序列表会中断ng-click
EN

Stack Overflow用户
提问于 2013-11-16 06:48:32
回答 2查看 436关注 0票数 1

我写了一个jquery插件,允许用户使用触摸或鼠标(kind of like this)来重获一个ul。这个插件可以很好地更新DOM,但我不确定如何告诉Angular“更新”模型绑定。具体地说,在移动了安莉之后,我在li中的ng-click不会触发。我还想更新$index,并告诉服务器新订单是什么。有什么想法吗?

HTML:

代码语言:javascript
复制
<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">&times</button></li></ul>

指令:

代码语言:javascript
复制
.directive('ngSortable',  function () {
        return {
            link: function (scope, element) {
                angular.element(element).draggableTouch({ onSortEndCallback: function () { scope.finishedSorting(); } });
            }
        };
    })

编辑:添加了更多上下文的代码。

EN

回答 2

Stack Overflow用户

发布于 2013-11-16 06:57:03

假设ng-click="deleteItem($index)"不工作

我建议您传递item而不是$index,因此将您的代码更改为

代码语言:javascript
复制
 ng-click="deleteItem(item)"

您可以使用indexOf函数查找数组中的元素索引

代码语言:javascript
复制
 scope.list.Items.indexOf(item)
票数 0
EN

Stack Overflow用户

发布于 2013-11-16 06:57:13

在点击或触摸后调用插件中的控制器。您可以从控制器angular.element(domElement).scope()外部访问作用域,以获取元素的当前作用域。然后用插件中的数据更新$scope.sort (发送到服务器)和$index。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20011978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档