如何在 virtual-dom 中定义 svg 属性?

How do I define svg attributes in virtual-dom?

有没有办法在虚拟 dom 中使用 virtual-hyperscript 将 svg 属性添加到节点?例如,像这样:

var h = require('virtual-dom/h')

h('svg', [
    h('circle', {cx: 100, cy: 100}, 'some text')
])

我自己尝试过这样做,但是 create 上的属性被删除了。

结果你这样做了:

h('circle', {namespace: "http://www.w3.org/2000/svg", attributes: {cx: 100}})
  • 需要属性键
  • 需要命名空间 - 这是因为浏览器将 createElementcreateElementNS 视为两个不同的东西,即使它们输出相同的 html。需要命名空间以将其与普通 DOM 元素区分开来。

参见:https://github.com/Matt-Esch/virtual-dom/tree/master/virtual-hyperscript#namespace