Vue.js在组件中获取元素vuejs 2

2022-08-30 03:01:20

我有一个组件,如何选择其中一个元素?

我正在尝试获取此组件模板中的输入。

可能有多个组件,因此 必须仅解析组件的当前实例。querySelector

Vue.component('somecomponent', {
    template: '#somecomponent',
    props: [...],

   ...

    created: function() {
        somevariablehere.querySelector('input').focus();
    }
});

答案 1

vuejs 2

v-el:el:uniquename已替换为 。然后通过 访问该元素。ref="uniqueName"this.$refs.uniqueName


答案 2

根据您尝试访问的内容,有几个选项:

  • 您可以使用以下命令访问 Vue .js 组件的子组件this.$children

  • 您可以使用模板中的特定 DOM 元素进行标记,并在以后通过
    这些元素引用这些元素(但请记住,在组件/应用完成装载并执行初始渲染之前,您将无法引用这些元素)ref="uniqueName"this.$refs.uniqueName

  • 如果无法标记元素,可以使用 CSS 选择器通过以下方式
    在 DOM 中查询子元素(如上所述,组件/应用需要完成挂载)this.$el.querySelector('.myClass > .childElement'))

你也可以通过在组件内部做一个简单的探索,它会向你显示 Vue 组件实例的所有属性。console.log(this)