javascript - angular.copy 无法复制对象

标签 javascript angularjs canvas

我正在使用 Angular 来制作 Canvas 对象的深拷贝,并且我得到 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时,这也会影响clonedImg并更改clonedCanvas,我想以某种方式保留原始信息。是angular.element.clone进行深层复制吗?

最佳答案

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

关于javascript - angular.copy 无法复制对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26653846/

相关文章:

javascript - Vue.js - 如何打印自定义尺寸的网页?

javascript - 如何在 jQuery 中选择一些元素作为选择器?

javascript - Protractor :按住 Ctrl 单击

javascript - 为什么这个简单的 AngularJS ng-show 不起作用?

jquery - 在 Canvas 上拖动元素

javascript - 加载页面并淡入或淡出ajax html

javascript - 使用向下钻取数据的 Highcharts donut 工具提示格式

javascript - 如何制作一个包含 ng-repeat 中使用的 div 的指令?

javascript - 更改事件类型

javascript - 如何创建一年中每天增加 1/365 部分的圆轮廓?