angular.copy无法复制对象

angular.copy is failing to copy an object

本文关键字:复制 对象 copy angular      更新时间:2023-09-26

我正在使用angular对画布对象进行深度复制,并获得Uncaught InvalidStateError: Failed to read the 'selectionDirection' property from 'HTMLInputElement': The input element's type ('checkbox') does not support selection.

canvas = document.getElementById('workercanvas')
canvas.width = cfg.labelsImage.width
canvas.height = cfg.labelsImage.height
ctx = canvas.getContext('2d')
clonedCanvas = null
if clonedCanvas is null
   clonedCanvas = angular.copy(canvas)

有什么想法吗?angular.copy可以复制DOM元素吗?

更新:使用angular.element.clone我试着使用angular.element.clone,问题是它似乎不能进行深度复制,我有以下内容:

imgObj = new Image(imgWidth, imgHeight)
imgObj.onload = ->
ctx.drawImage(imgObj, 0, 0, imgWidth, imgHeight)
if clonedCanvas is null
    clonedCanvas = angular.element.clone(canvas)
    clonedImg = angular.element.clone(imgObj)
    clonedCanvasContext = clonedCanvas.getContext('2d')
    clonedCanvasContext.drawImage(clonedImg, 0, 0, imgWidth, imgHeight)

当我更改imgObj时,这也会影响克隆的Img并更改克隆的Canvas,我希望以某种方式保留原始信息。angular.element.clone是否进行深度复制?

使用element.clone()克隆DOM元素——这是Angular的jQuery clone()版本。