在SVG.js中为什么clear()方法在这个例子中抛出错误?

时间:2018-01-15 19:09:33

标签: javascript svg svg.js

在下面的示例中,为什么draw.clear()方法会抛出错误TypeError: Cannot read property 'parentNode' of undefined at create.clear?我该怎么做才能使清晰的方法起作用而不抛出任何错误?

import * as SVG from 'svg.js';
import 'svg.filter.js';

// create the svg
let draw = new SVG.Doc('root');
draw.size('100vw', '100vh');

// create a rect with a dropshadow
let rect = draw.rect(100, 50).x(50).y(80).fill('red').stroke({
  color: 'green',
  width: 10
})

draw.clear()

Edit webpack and svg.filter.js example

2 个答案:

答案 0 :(得分:1)

我分叉了您的代码并尝试使用draw.remove()代替draw.clear(),这似乎有效。这似乎是你正在使用的SVG.js版本中的一个小故障 - 因为我只使用常规JS版本,我不确定你的问题在哪里 - 但是你应该尝试使用Github问题网站来获取SVG.js并在那里发布,FuzzyMa是活跃的,并帮助很多人。我确实在Github网站上发现了一个与Typescript compiler相关的问题。

答案 1 :(得分:1)

在我发布问题后,FuzzyMa向此提供了the answer。以下是他的回答:

  

如果您不知道自己在做什么,请不要直接使用SVG.Doc:

     

https://codesandbox.io/s/9ymx30pjxp