javascript - 访问 Vuejs 组件内的元素

标签 javascript vue.js

我试图从我的 Vue 组件中访问 dom 中的元素,但我只是得到“null”。如果我进入开发工具并尝试访问它。我假设这是一个范围界定问题,但我找不到答案。

<template>
    <ul class="list-group" id="criteria" v-for="item in criteria">
        <li class="list-group-item">{{ item.name }}</li>
    </ul>
</template>

<script>
    export default {
        template: "report-criteria",
        data() {
            return {
                criteria: []
            }
        },
        ready() {
            console.log(document.getElementById('criteria'));
        },
        methods: {},
    };
</script>

最佳答案

answer @nils 发布的是针对 VueJS 1.x 的。 v-el 指令在新版本中被移除。它被替换为 ref 属性。

要在 VueJS 2.x 中实现相同的结果,您应该改为执行以下操作:

<template>
  <ul class="list-group" id="criteria" ref="criteria" v-for="item in criteria">
    <li class="list-group-item">{{ item.name }}</li>
  </ul>
</template>

<script>
  export default {
    data() {
      return {
        criteria: []
      }
    },
    mounted() {
      console.log(this.$refs.criteria);
    },
    methods: {},
  };
</script>

您可以在 VueJS docs 中找到有关该更改的更多信息.

关于javascript - 访问 Vuejs 组件内的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36937437/

相关文章:

javascript - 将原型(prototype)方法传递给 Promise 的 then 方法

javascript - 如何平滑滚动到 div id?

javascript - 计算长按秒数

javascript - 日期-fns RangeError : Invalid time value

javascript - Vue单元测试报错: vuex requires a Promise polyfill in this browser

css - 视觉 : how to change the style of scoped child components

javascript - session 不保存在函数调用内

javascript - Next.JS 代码如何在服务器和客户端上运行?

javascript - 我们可以更改 Electron js中上下文菜单的菜单项的颜色吗

javascript - 如何配置 Laravel Mix Vue.js 源映射以在 Debug模式下显示真实的组件代码