當我在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排序元素?請讓我知道如果我做錯了什麼,提前致謝!