当我在ui-sortable指令(我后来发现与此问题相同(https://github.com/angular-ui/ui-sortable/issues/2))中查找了一个我正在使用ng-repeats的问题时,发现了另一个有关ui-sortable范围的问题指示。AngularJS/UI ui-sortable没有隔离范围?
如果你看看这个小提琴:http://jsfiddle.net/hKYWr/707/
请打开您的控制台,你会发现,当你启动和停止拖动,你会看到一个“开始”,并在控制台“停止” 。
但是,当您引入具有不同选项的第二个可排序的部分时,它会覆盖第一个(或反之亦然)的事件。你会发现,“停止”不再被由第一组的颜色称为:http://jsfiddle.net/hKYWr/708/
虽然步进通过角ui.js文件,这些都是导致问题的行:
// If user provided 'start' callback compose it with onStart function
_start = opts.start;
opts.start = function(e, ui) {
onStart(e, ui);
if (typeof _start === "function")
_start(e, ui);
};
// If user provided 'start' callback compose it with onStart function
_stop = opts.stop;
opts.stop = function(e, ui) {
onStop(e, ui);
if (typeof _stop === "function")
_stop(e, ui);
};
// If user provided 'update' callback compose it with onUpdate function
_update = opts.update;
opts.update = function(e, ui) {
onUpdate(e, ui);
if (typeof _update === "function")
_update(e, ui);
};
_stop似乎被来自最后调用的任何可排序获取的“undefined”覆盖。
有没有人如何处理同一页面上的多个UI排序元素?请让我知道如果我做错了什么,提前致谢!