我用NG-排序此工作示例;采用NG-排序没有NG-重复
HTML
<ul as-sortable="vm.sortableOptions" ng-model="vm.items">
<li ng-repeat="item in vm.items" as-sortable-item class="as-sortable-item">
<div as-sortable-item-handle class="as-sortable-item-handle" style="height: 50px">
<span data-ng-bind="item.name"></span>
</div>
</li>
</ul>
JS
vm.items = [
{ name: 'item 1' },
{ name: 'item 2' }
];
vm.sortableOptions = {
containment: '#sortable-container'
};
这给我结果:
在我来说,我不能我们因为我需要排序的所有元素都有独特和复杂的HTML内容,并且不可重复。出于这个原因,我想这样的:
HTML
<ul as-sortable="vm.sortableOptions" ng-model="vm.items">
<li as-sortable-item class="as-sortable-item">
<div as-sortable-item-handle class="as-sortable-item-handle">
<span>Test1</span>
</div>
</li>
<li as-sortable-item class="as-sortable-item">
<div as-sortable-item-handle class="as-sortable-item-handle">
<span>Test2</span>
</div>
</li>
</ul>
的“排序项”似乎是“不可排序”如果异常-repeat被省略。有没有解决这个问题的方法?是否有可能简单地在一个容器内对x个div进行排序而不使用ng-repeat?
的主要问题,这将是当'htmlStr'本身将包含角指令和功能。我不敢在这种情况下看到我自己的解决方案有任何优势。但是,感谢您的意见。 – Marcus
当htmlStr包含任何指令或函数调用时,$ compile()都会关心这个问题。当然,如果对此的引用是正确的。我给你我的观点,因为在一个项目中,我使用这种替代方法100%。对我来说,编写你想要的代码是一种很难的方式,但你仍然可以做任何你想要的任何自定义调整,只是想象力的问题。 –