Angularjs-UI可排序多个div列表

时间:2014-07-24 23:03:53

标签: javascript jquery angularjs jquery-ui

我正在尝试排序工作。

 <ul ui-sortable='data.sortableOptions' ng-model="dp.claims" class="list-unstyled">
        <li ng-repeat="c in dp.claims">
            <div> {{c.field1}} </div>
            <div> {{c.field2}} </div>
            <div> {{c.field3}} </div>
        </li>
 </ul>

我似乎无法抓住任何东西。这个问题的重要部分是李

中的3个div

我承认,我不明白文档中这一行的含义:&#34; ui-sortable元素应该只包含一个ng-repeat而不包含任何其他元素(上面或下面)。&#34 ;

我能够让它与桌子一起工作。

任何见解?

1 个答案:

答案 0 :(得分:0)

是的,文档确实说&#34; ui-sortable元素应该只包含一个ng-repeat而不包含任何其他元素(上面或下面)。&#34;这使得李很难有3个div。但是,有一个解决方案。

您可以使用tg-dynamic-directive(https://github.com/thgreasi/tg-dynamic-directive)来解决此问题。别忘了把它包括在内,然后把“td.ddddorctive”指向&#39;在您的依赖项中。基本上你取出li标签之间的中间部分,在这种情况下是3个div,你把它放在另一个文件中并链接到它。

 <ul ui-sortable='data.sortableOptions' ng-model="dp.claims" class="list-unstyled">
        <li ng-repeat="c in dp.claims">

        </li>
 </ul>

然后在另一个文件中放入内脏,如innards.html:

        <div> {{c.field1}} </div>
        <div> {{c.field2}} </div>
        <div> {{c.field3}} </div>

用以下内容替换内脏:

<ul ui-sortable='data.sortableOptions' ng-model="dp.claims" class="list-unstyled">
        <li ng-repeat="c in dp.claims">
           <tg-dynamic-directive ng-model="c" tg-dynamic-directive-view="getView">
           </tg-dynamic-directive>
        </li>
 </ul>

在你的控制器里放了类似的东西:

 $scope.getView = function(item) {
  if item {
    return 'innards.html';
  return null;
 };

无论如何,文档很好地完成了。我意识到这个问题已经很老了,但是我自己也遇到了这个问题并且让它运转起来,所以希望它可以帮助别人。