首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角ng.可排序.其工作原理的基本示例

角ng.可排序.其工作原理的基本示例
EN

Stack Overflow用户
提问于 2015-01-15 09:19:03
回答 3查看 21.2K关注 0票数 10

形势:

大家好!在我的应用程序中,我有一种kanban:有一些列,每个列都包含一个项目列表。

我需要在列之间拖放项目,并在同一列中重新排序。

我曾经尝试过三个与拖放(前两个)和重排(第三个)相关的角度模块:

ngDraggablehttps://github.com/fatlinesofcode/ngDraggable

角拖曳https://github.com/codef0rmer/angular-dragdrop

角ui-可排序的https://github.com/angular-ui/ui-sortable

它们很好,有很好的文档,但似乎不可能同时拖放和重新排序。然后我发现了另一个模块:

ng-sortablehttps://github.com/a5hik/ng-sortable

这似乎正是我所需要的。但文件并不那么清楚。我无法理解如何设置它。

问题:

你能告诉我怎么安排吗?有一个有一个很好的例子的柱塞吗?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2015-08-31 14:23:35

最小ng-可排序设置(不需要保龄球)。对像我这样的半人来说,鲍尔也很困惑。)。

这是获得一个带有ng排序的完整排序数组的最小设置,它对我有效。

加载必需的Javascripts

  1. 负载angular.js
  2. 加载ng-sortable.js (在下载的.zip文件https://github.com/a5hik/ng-sortable中的dist文件夹中找到此文件)
  3. 加载app.js
  4. as.sortable加载到应用程序var app = angular.module('app', ['ngRoute', 'as.sortable']);
  5. 加载AppController.js

加载必要的样式表

(在下载的.zip文件https://github.com/a5hik/ng-sortable中的dist文件夹中可以同时找到两者)

  1. 加载ng-sortable.css
  2. 加载ng-sortable.style.css
  3. 使用必要的属性( data-as-sortable data-ng-model="sortableList" )创建ul
  4. data-as-sortable-item添加到li
  5. 将div with data-as-sortable-item-handle插入到li

代码语言:javascript
复制
<!DOCTYPE html>
<html>
    <head>
        <title>NG-Sortable</title>
        <script type="text/javascript" src="js/angular/angular.js"></script>
        <script type="text/javascript" src="js/sortable/ng-sortable.js"></script>
        <script type="text/javascript" src="js/app.js"></script>
        <script type="text/javascript" src="js/AppController.js"></script>

        <link rel="stylesheet" type="text/css" href="css/ng-sortable.css">
        <link rel="stylesheet" type="text/css" href="css/ng-sortable.style.css">
    </head>
    <body ng-app="app" ng-controller="AppController">
        <ul data-as-sortable data-ng-model="sortableList">
            <li ng-repeat="item in sortableList" data-as-sortable-item>
                <div data-as-sortable-item-handle>
                    index: {{$index}} | id: {{item.id}} | title: {{item.title}}
                </div>
            </li>
        </ul>
    </body>
</html>
代码语言:javascript
复制
// app.js (Your file)
var app = angular.module('app', ['ngRoute', 'as.sortable']);
// AppController.js (Your file)
app.controller('AppController', [
    '$scope',
    function ( $scope) {


        $scope.sortableList = [
            {
                id : "id-000",
                title : "item 000"
            },
            {
                id : "id-001",
                title : "item 001"
            },
            {
                id : "id-002",
                title : "item 002"
            }

        ];

    }
]);
票数 14
EN

Stack Overflow用户

发布于 2015-01-21 18:15:04

如果我们知道您所说的“设置它”是什么意思的话(不管您是指将它实际添加到项目中,还是如何使用它),这将有帮助。如果我们知道您正在安装哪个堆栈(如果有的话),这也会有所帮助。

安装

安装说明在Git页面的“使用”部分下。

  1. 如果您使用的是约曼,请运行bower install ng-sortablebower install ng-sortable -save
  2. 将路径添加到ng-sortable.min.jsng-sortable.min.cssng-sortable.style.min.css到项目中,添加这些路径取决于所使用的堆栈。
  3. ui.sortable作为依赖项添加到应用程序或模块中。同样,这取决于您的堆栈。

使用

代码语言:javascript
复制
<ul data-as-sortable data-ng-model="array">
    <li ng-repeat="item in array" data-as-sortable-item>
        <div data-as-sortable-item-handle>
             {{item.data}}
        </div>
    </li>
</ul>

其中“数组”是您正在排序的项的数组。这将开箱即用,但如果需要自定义逻辑,则将data-as-sortable更改为data-as-sortable="CustomLogic",其中"CustomLogic“是控制器中覆盖默认行为的方法。有关如何添加自定义逻辑的详细信息,请查看“回调”和“使用”部分下的Git页面。

票数 7
EN

Stack Overflow用户

发布于 2016-04-15 02:05:10

我只是上传了一个很棒的库的简单例子。我有两个div并排,你可以把div从一个拖到另一个。我用的是静态数据。请检查一下。https://github.com/moytho/DragAndDropAngularJS/tree/master/DragAndDrop或者您要求的话可以在这里查看,https://plnkr.co/SRN4u7

代码语言:javascript
复制
<body ng-controller="dragDropController">
<h1>Example</h1>

<div class="container">

<div id="row" class="row">

    <div id="assignedEmployees" class="col-lg-5" style="border: 5px solid red;">
        <div class="card" as-sortable="sortableOptions" data-ng-model="data.projects">
            <div ng-repeat="project in data.projects" as-sortable-item>
                <a title="Add card to column" ng-click="setDate(project)">
                    <i class="glyphicon glyphicon-plus"></i>
                </a>
                <div as-sortable-item-handle>{{project.FirstName}}</div>
            </div>
        </div>
    </div>

    <div id="freeEmployees" class="col-lg-5" style="background-color:lightgray;border:5px dashed gray;">
        <div class="card" as-sortable="sortableOptions" data-ng-model="data.employees">
            <div ng-repeat="employee in data.employees" as-sortable-item>
                <div as-sortable-item-handle>{{employee.FirstName}}</div>
            </div>
        </div>
    </div>

</div>     

</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27960121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档