当我查找在ui-sortable指令中使用ng-repeats时遇到的问题时(后来发现这与https://github.com/angular-ui/ui-sortable/issues/2相同),我遇到了另一个关于ui-sortable指令范围的问题。
如果您查看此fiddle:http://jsfiddle.net/hKYWr/707/ 请打开控制台,您会注意到当您开始和停止拖动时,控制台中会出现“start”和“stop”。
但是,当您引入具有不同选项的第二个ui-sortable部分时,它会覆盖第一个部分的事件(反之亦然)。 您将注意到“stop”不再由第一组颜色调用:http://jsfiddle.net/hKYWr/708/ 在浏览angular-ui.js文件时,以下几行会导致问题:
如果您查看此fiddle:http://jsfiddle.net/hKYWr/707/ 请打开控制台,您会注意到当您开始和停止拖动时,控制台中会出现“start”和“stop”。
但是,当您引入具有不同选项的第二个ui-sortable部分时,它会覆盖第一个部分的事件(反之亦然)。 您将注意到“stop”不再由第一组颜色调用:http://jsfiddle.net/hKYWr/708/ 在浏览angular-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 似乎会被最后调用的任何 ui-sortable 覆盖为 "undefined"。
有人知道如何处理同一页上的多个 ui-sortable 元素吗?如果我做错了什么,请提前告诉我,谢谢!