AngularJS/UI可排序UI没有独立的作用域



当我在调查ui可排序指令中的ng重复出现的问题时,我后来发现这个问题与(https://github.com/angular-ui/ui-sortable/issues/2),我遇到了另一个关于ui可排序指令范围的问题。

如果你看看这把小提琴:http://jsfiddle.net/hKYWr/707/

请打开您的控制台,您会注意到,当您开始和停止拖动时,您会在控制台中看到"开始"one_answers"停止"。

然而,当您引入具有不同选项的第二个ui可排序部分时,它会覆盖第一个部分的事件(反之亦然)。您会注意到"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.js代码复制并粘贴到jsfiddle编辑器中,并删除了链接<script src="//cdnjs.cloudflare.com/ajax/libs/angular-ui/0.4.0/angular-ui.min.js"></script>。它似乎工作正常。

请看一下演示。

演示

最新更新