我有一个组件,我该如何选择其中一个元素?
我正在尝试获取该组件模板中的输入 .
可能有多个组件,因此queryselector必须只解析组件的当前实例 .
Vue.component('somecomponent', {
template: '#somecomponent',
props: [...],
...
created: function() {
somevariablehere.querySelector('input').focus();
}
});
提前致谢
4 回答
您可以使用
this.$children
访问vuejs组件的子项 . 如果要在当前组件实例上使用查询选择器,则this.$el.querySelector(...)
只需做一个简单的
console.log(this)
就会显示vue组件实例的所有属性 .另外,如果您知道要在组件中访问的元素,可以向其添加
v-el:uniquename
指令并通过this.$els.uniquename
访问它在vuejs 2中, v-el:el:uniquename 已被 ref="uniqueName “替换 . ”然后通过 this.$refs.uniqueName 访问该元素 .
在 Vue2 中请注意,只有在安装组件后才能访问 this.$refs.uniqueName .
答案没有说清楚:
使用 this.$refs.someName ,但是,为了使用它,您必须 add ref="someName" in the parent .
见下面的演示 .
$ refs和v-for
请注意,当与
v-for
一起使用时,this.$refs.someName
将是一个数组: