Angular 6 中的新特性:Sortablejs 与 Angular Dragula 使用教程

阅读时长 5 分钟读完

在前端开发中,拖拽排序成为了越来越流行的交互方式。而 Angular 6 则为我们提供了两个强大的拖拽排序工具:Sortablejs 和 Angular Dragula。这篇文章将针对这两个工具进行详细的使用教程,帮助读者掌握这两个工具的使用方法,使得前端开发更加高效和便捷。

什么是 Sortablejs?

Sortablejs 是一款基于原生 JavaScript 实现的交互式拖拽排序库。这个库支持很多的拖拽排序应用场景,比如列表、表格、树形结构等,而且这个库非常灵活,支持多个排序列表共存、嵌套排序列表等特性。

如何在 Angular 6 中使用 Sortablejs?

  1. 首先,我们需要引入 Sortablejs 库以及相关的样式文件。可以使用以下命令进行安装:
  1. 在 Angular 中使用 Sortablejs 也需要引入相应的模块,可以使用以下命令导入:
  1. 接下来,我们需要在组件中定义一个容器,用于放置我们需要拖拽排序的元素,可以使用以下 HTML 代码:
  1. 最后,在组件的 ngAfterViewInit 生命周期函数中初始化 Sortablejs,可以使用以下代码:

这样,我们就成功地使用 Sortablejs 对列表进行了拖拽排序。当然,Sortablejs 还有很多其他的配置和事件,读者可以根据自己的需要进行自定义。

什么是 Angular Dragula?

Angular Dragula 是对 Dragula.js 的 Angular 封装,是另一款强大的拖拽排序工具。这个库支持多个拖拽容器之间的拖拽排序,而且非常易用。

如何在 Angular 6 中使用 Angular Dragula?

  1. 首先,我们需要引入 Angular Dragula 库以及相关的样式文件。可以使用以下命令进行安装:
  1. 在 Angular 中使用 Angular Dragula 也需要引入相应的模块,可以使用以下命令导入:
  1. 接下来,在组件中通过依赖注入的方式注入 DragulaService,可以使用以下代码:
  1. 在 ngOnInit 生命钩子函数中,我们需要在 DragulaService 中创建一个组,用于实现多个拖拽容器之间的拖拽排序,可以使用以下代码:

这里我们创建了一个名为 'ITEMS' 的组,其中的 direction 属性表示拖拽排序的方向,而 moves 方法表示只有在 handle 的 className 为 'handle' 的元素才可以拖拽。

  1. 最后,在 HTML 模板中进行拖拽容器的定义。这里需要注意的是,每个拖拽容器必须都有一个相同的类名,这个类名就是定义组时的组名。可以使用以下代码:
-- -------------------- ---- -------
---- --------------------
  -----
    ---- ------------------- -------
  ------
  -----
    ---- ------------------- -------
  ------
  -----
    ---- ------------------- -------
  ------
  -----
    ---- ------------------- -------
  ------
  -----
    ---- ------------------- -------
  ------
------

这样,我们就成功地使用 Angular Dragula 对多个拖拽容器进行了拖拽排序。当然,Angular Dragula 也有其他的配置和事件,读者可以根据自己的需要进行自定义。

总结

在本文中,我们详细介绍了 Angular 6 中的拖拽排序工具 Sortablejs 和 Angular Dragula 的使用方法,希望对读者对前端开发中的拖拽排序有所帮助。两个工具都是非常强大而灵活的,读者可以根据自己的实际需要进行选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64ed97b5f6b2d6eab37bdcc4

纠错
反馈