如何在Vue中以编程方式向使用createElement创建的元素添加动态样式

时间:2019-04-22 14:20:12

标签: javascript vue.js

我有一个以编程方式创建的canvas元素,我想为其添加反应式样式。

canvas = document.createElement('canvas')

//Add style

this.$refs.parentElement.appendChild(canvas)

通常,您可以在带有v-for和v-bind的模板中执行此操作,但就我而言,我无法做到这一点。示例:

<canvas :style="[someReactiveData ? { 'display': 'block' } : {}]"/>

您将如何处理?

1 个答案:

答案 0 :(得分:0)

我不知道这是否是最好的答案,但是我所做的是:

document.getElementById("elementId").style.display = this.style.display

因此,我只更新样式对象,并且可以按所需方式使用它,每次更新样式属性时,elementId样式也将更新。
如果我不够清楚,可以重新解释一下。