我试图定义一个包装
jqueryui可排序插件的指令排序.
角度代码是:
module.directive('sortable',function () { return function (scope,element,attrs) { var startIndex,endindex; $(element).sortable({ start:function (event,ui) { startIndex = ui.item.index(); },stop:function (event,ui) { endindex = ui.item.index(); if(attrs.onStop) { scope.$apply(attrs.onStop,startIndex,endindex); } } }).disableSelection(); }; });
HTML代码是:
<div ng-controller="MyCtrl"> <ol sortable onStop="updateOrders()"> <li ng-repeat="m in messages">{{m}}</li> </ol> </div>
MyCtrl的代码:
function MyCtrl($scope) { $scope.updateOrders = function(startIndex,endindex) { console.log(startIndex + "," + endindex); } }
我想在我的回调updateOrders中获取startIndex和endindex,并与它们进行一些操作,但它打印:
undefined,undefined
如何将这些参数传递给我的回调?我的方法是否正确?
范围.$apply接受函数或字符串.
在这种情况下,使用函数会更简单:
在这种情况下,使用函数会更简单:
scope.$apply(function(self) { self[attrs.onStop](startIndex,endindex); });
不要忘记将您的HTML代码更改为:
<ol sortable onStop="updateOrders">
(已删除())
原文地址:https://www.jb51.cc/angularjs/142456.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。