在Vue.js中的方法之间共享DOM元素对象常量

在Vue.js中的方法之间共享DOM元素对象常量,vue.js,vue-cli,Vue.js,Vue Cli,我想在Vue.js中的方法之间共享常量以纪念DRY:这里的大多数人都希望在数组和/或对象中共享数据,但我只想在同一组件中的变量中存储DOM元素对象一次。我使用@vue/cli构建我的应用程序,因此在vue.js代码之前导出它们比较困难(你知道,我是这个框架的新手);我用不同的方法解决了几个节点,比如submit(),重置(),等等,我不想调用document.getElementById()都可以。是否有一种解决方案可以避免这种情况,也许是以更Vue.js的方式?提前谢谢 编辑:多亏了所有的回复

我想在Vue.js中的方法之间共享常量以纪念DRY:这里的大多数人都希望在数组和/或对象中共享数据,但我只想在同一组件中的变量中存储DOM元素对象一次。我使用
@vue/cli
构建我的应用程序,因此在vue.js代码之前导出它们比较困难(你知道,我是这个框架的新手);我用不同的方法解决了几个节点,比如
submit()
重置(),等等,我不想调用
document.getElementById()都可以。是否有一种解决方案可以避免这种情况,也许是以更Vue.js的方式?提前谢谢


编辑:多亏了所有的回复,我找到了一个确定的解决方案。

你可以将它们存储为
数据
道具,然后重新使用它们

data(){
返回{
元素:空
};
},
安装的(){
this.elem=document.getElementById('someId');
},
方法:{
方法1(){
console.log(this.elem);
},
方法2(){
console.log(this.elem);
}
}
我还应该提到,Vue有一个内置的工具,名为
$refs

例如:


标题
导出默认值{
someMethod(){
console.log(this.$refs.title);//h1元素
}
}

首先,感谢大家友好的回答。我决定继续为
数据
对象赋值,而不是在
$refs
中映射DOM元素对象,但需要使用CSS操作的节点除外(我的项目的某些区域应该在用户输入时显示/隐藏):它工作得更快

你试过使用refs吗?@Vivick这就是我努力做到的(我还在研究Vue.js的工作原理,来自AngularJS和React)…所以,我想你可以确认这是实现目标的最佳方式:谢谢<代码>我只想将DOM元素对象存储在变量中
…这听起来非常不符合Vue。在Vue中,您不直接创建和存储DOM节点。也许你应该更新你的答案,描述一下你真正想要实现的目标…@MichalLevý你是对的,这就是我为什么问的原因。现在,
$refs
对我来说似乎更合理:基本上,我正在创建一个简单的表单,它可以执行HTTP请求并用响应填充页面节点。一旦用户发送另一个请求,所有请求都应该被清理和更新,然后我涉及到几个DOM元素对象,我正在尝试减少初始代码。@FedericoMoretti您所描述的内容在Vue中听起来很简单,没有DOM操作,甚至没有
refs
真的……我目前正在尝试
refs
,它可以正常工作,但是现在我想知道是否有一些限制:我的意思是,
数据
道具
似乎都可以被导入的子组件重用,就像它们在React中使用一样,而
$ref
没有…如果我没有错的话。几天前我第一次使用Vue.js,所以我还在阅读官方文档以了解它的工作原理。您可以将
refs
作为道具传递给子组件: