npm包angular4-dragdrop使用教程

阅读时长 5 分钟读完

前言

在前端开发中,拖拽是一个非常常见的需求,针对拖拽的需求,现有的库对于拖拽的支持和封装也非常的完善。今天我们来介绍一款基于angular4的npm包 angular4-dragdrop,该包提供了一个局部范围的拖拽功能,并以指令的方式提供给使用者进行拖放操作。

安装

使用angular4-dragdrop非常简单,首先我们需要先把npm包安装到我们的项目中,使用npm命令即可:

安装完成后,我们需要在我们的模块中引入angular4-dragdrop

-- -------------------- ---- -------
------ - ----------------- - ---- --------------------
-- ---

-----------
  -- ---
  -------- -
    ----------------------------
    -- ---
  --
  -- ---
--
------ ----- --------- - -

指令

angular4-dragdrop的指令有dragdropTargetdragHandle。简单来说,dragdragHandle是拖拽源相关的指令,dropTarget是拖放目标相关的指令。

drag

用于指定可拖拽区域,需要绑定该指令的元素会成为拖动源。可以添加dragEffectdragDataType属性,分别用于指定拖拽效果和拖拽类型。

dropTarget

用于指定可放置区域,需要绑定该指令的元素会成为拖放目标。可以添加dropScopeallowDroponDropSuccess属性,分别用于指定拖放范围、是否允许拖放和拖放成功后的回调函数。

dragHandle

用于指定拖拽源的手柄,需要绑定该指令的元素会成为拖动源的拖拽手柄。

示例

下面我们通过一个示例来演示如何使用angular4-dragdrop进行拖拽操作。

首先,我们准备好一个可以被拖拽的区域和一个可以放置的区域,它们都是使用angular4-dragdrop指令实现的。

-- -------------------- ---- -------
---- --- ---
---- ------------- ----------------------------- --------------------- -------------------------
  ---- ------------------- ------------
  ---- ---------------- ---------
------

---- ---- ---
---- ----------------- ------------------------ ------------------------------- ----------------------------------------
  ---- -----
------

通过dragdropTarget指令分别绑定到两个元素上,就可以实现拖放效果。需要注意的是,两个元素需要分别设置对应的指令属性,例如drag需要设置dragDataTypedragEffect属性。

-- -------------------- ---- -------
-- --------
------ ----- ------------ -
  ------ ------------------ ---------- ---- -- ------- - ---------- ---- -- -
    -- ----
    ----------------------
    ------ -----
  -
  
  ------ ---------------------- ---------- ---- --------- ---- -- ---- - ---------- ---- --------- ---- -- -
    -- -----------
    --------------------- -- --------- -- ----------
  -
-

在处理拖拽动作时,需要定义allowDropFunctiononDropSuccessFunction回调函数,分别表示该元素是否允许执行拖放和拖放成功后的处理函数。我们可以在这两个回调函数中完成自定义的逻辑处理,例如对拖放对象的数据进行处理。

总结

通过介绍angular4-dragdrop的指令和示例,我们了解了如何使用angular4-dragdrop实现局部范围的拖放操作。希望这篇文章能够对大家了解angular4-dragdrop的使用有所帮助。

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

纠错
反馈