PHP前端开发

vue中怎么取到自定义属性

百变鹏仔 2个月前 (10-31) #前端问答
文章标签 自定义

在vue中,我们可以通过v-bind指令来给元素绑定自定义属性,然后再通过javascript来获取这些自定义属性。下面我们来一步步了解如何取到自定义属性。

  1. 给元素绑定自定义属性

v-bind指令可以让我们将属性动态绑定到元素上,形式为:v-bind:属性名="表达式",或者简写为:属性名="表达式"。

我们可以这样给元素绑定一个自定义属性data-id:

<template>  <div>    <p v-bind:data-id="userId">User ID</p>  </div></template>

其中,userId是该组件的data中定义的一个变量。

  1. 获取自定义属性

我们可以通过JavaScript来获取到这个自定义属性。在Vue中,我们可以在mounted()生命周期中获取到元素的自定义属性。mounted()生命周期是Vue实例挂载到DOM上后触发的钩子函数,此时可以操作DOM。

立即学习“前端免费学习笔记(深入)”;

假设我们在前面的组件中给p元素绑定了data-id属性,那么我们可以这样来获取该属性:

<template>  <div>    <p v-bind:data-id="userId" ref="user">User ID</p>  </div></template><script>export default {  data() {    return {      userId: '123456'    }  },  mounted() {    const userEle = this.$refs.user;  //获取p元素    const userId = userEle.getAttribute('data-id');  //获取自定义属性    console.log(userId);  //打印出123456  }}</script>

在上面的例子中,我们给p元素绑定了自定义属性data-id,并通过ref属性给p元素取了一个引用名为"User"。在mounted()函数中,我们通过this.$refs.user获取到这个p元素,在它上面调用getAttribute('data-id')方法来获取自定义属性。最后我们将获取到的值打印出来,结果为123456。

  1. 使用自定义属性

获取到自定义属性后,我们就可以进行一些相应的操作了。比如,在我们点击p元素时,弹出该元素自定义属性的值:

<template>  <div>    <p v-bind:data-id="userId" ref="user" @click="showId">User ID</p>  </div></template><script>export default {  data() {    return {      userId: '123456'    }  },  methods: {    showId() {      const userEle = this.$refs.user;  //获取p元素      const userId = userEle.getAttribute('data-id');  //获取自定义属性      alert(userId);  //弹出该元素自定义属性的值    }  }}</script>