我想知道可以在Vue js应用程序中访问DOM吗?
例如,如果我想将元素(div)附加到body标签,建议在Vue js方法中使用document.getElementById
吗?
我没有可用于基于数据制作或删除元素的数据。
我真的只是想知道在Vue js中使用document
访问DOM是常见的吗?
类似这样的东西:
methods:{
appendToBody(){
let node = document.createElement("div");
document.getElementById("#body").appendChild(node);
}
}
答案 0 :(得分:2)
这也取决于您所引用的DOM的哪一部分。
如果要更改Vue处理的子树,则不应该这样做。您应该依赖反应性属性conditional rendering组件。如果您需要访问作为当前组件的子元素的DOM元素,则可以使用refs。
如果您需要更改Vue领域之外的DOM部分,则一定要这样做。
在您的情况下,您不清楚要实现的目标,并且很难给出明确的答案。
答案 1 :(得分:1)
您可以在Vue中使用诸如document.getElementById
之类的DOM函数来查找元素,但切勿使用DOM函数来更改DOM。始终在Vue中通过更改变量进行修改,并在模板中对此做出反应。