在vue js中访问DOM很好吗?

时间:2019-03-18 09:51:57

标签: javascript dom vue.js

我想知道可以在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);
 }
}

2 个答案:

答案 0 :(得分:2)

这也取决于您所引用的DOM的哪一部分。

如果要更改Vue处理的子树,则不应该这样做。您应该依赖反应性属性conditional rendering组件。如果您需要访问作为当前组件的子元素的DOM元素,则可以使用refs

如果您需要更改Vue领域之外的DOM部分,则一定要这样做。

在您的情况下,您不清楚要实现的目标,并且很难给出明确的答案。

答案 1 :(得分:1)

您可以在Vue中使用诸如document.getElementById之类的DOM函数来查找元素,但切勿使用DOM函数来更改DOM。始终在Vue中通过更改变量进行修改,并在模板中对此做出反应。