Jquery vue.js';document.getElementById';速记

Jquery vue.js';document.getElementById';速记,jquery,getelementbyid,vue.js,Jquery,Getelementbyid,Vue.js,vue.js是否像JQuery的$('#id')一样对document.getElementById('#id')有速记 如果是这样,文档中的引用在哪里,以便我可以找到其他信息?您可以使用指令v-el保存元素,然后在以后使用它 编辑:这是,请参阅胡亚雄 回答如果您试图获取一个元素,您可以使用Vue.util.query,它实际上只是document.querySelector的一个包装器,但从技术上讲,它分别是14个字符和22个字符。如果您搜索的元素不存在,它也会有一些错误处理 关于Vue

vue.js是否像JQuery的
$('#id')
一样对
document.getElementById('#id')
有速记


如果是这样,文档中的引用在哪里,以便我可以找到其他信息?

您可以使用指令
v-el
保存元素,然后在以后使用它



编辑:这是,请参阅胡亚雄 回答

如果您试图获取一个元素,您可以使用
Vue.util.query
,它实际上只是
document.querySelector
的一个包装器,但从技术上讲,它分别是14个字符和22个字符。如果您搜索的元素不存在,它也会有一些错误处理

关于
Vue.util
,没有任何官方文档,但这是该函数的全部源代码:

function query(el) {
  if (typeof el === 'string') {
    var selector = el;
    el = document.querySelector(el);
    if (!el) {
      ({}).NODE_ENV !== 'production' && warn('Cannot find element: ' + selector);
    }
  }
  return el;
}

回购链接:

在vue 2中没有速记方式

Jeff的方法在vue 2中似乎已被弃用

这是你实现目标的另一种方法

var-app=新的Vue({
el:“#应用程序”,
方法:{
showMyDiv(){
console.log(this.$refs.myDiv);
}
}
});

显示我的Div

您可以在以下两页的组合中找到答案:

ref用于注册对元素或子元素的引用 组成部分。该引用将在父项下注册 组件的$refs对象。如果在普通DOM元素上使用,则 引用将是该元素

包含已注册ref的子组件的对象


尽量不要直接引用DOM来进行DOM操作,这样会有很多性能问题,当我们试图直接访问DOM时,事件处理也会变得更加棘手,而应该使用数据和指令来操作DOM


这将使您能够更好地控制操作,还将能够以模块化格式管理功能。

这是不推荐使用的,请不要在vuejs 2Read中使用,以获取有关不推荐使用的内容和不推荐使用的内容的详细信息。我只从一次输入中了解这一点。我认为id=“something”和rel=“something”都是它工作所必需的,并且需要一些额外的工作来提取输入的值。可能有一种更好的方法可以做到这一点,但是,当您要取回对象并且需要输入值时,这种方法就会起作用。设searchTerm=this.$refs[“搜索输入”]。$el.value;警报(搜索术语)@WilliamHammock:当通过
ref
引用元素时,在
id
中没有必要。不总是一个选项。参见:HTML5画布。
function query(el) {
  if (typeof el === 'string') {
    var selector = el;
    el = document.querySelector(el);
    if (!el) {
      ({}).NODE_ENV !== 'production' && warn('Cannot find element: ' + selector);
    }
  }
  return el;
}