在Vue中,我们可以通过v-bind指令来给元素绑定自定义属性,然后再通过JavaScript来获取这些自定义属性。下面我们来一步步了解如何取到自定义属性。 给元素绑定自定义属性 v-bind指令可
在Vue中,我们可以通过v-bind指令来给元素绑定自定义属性,然后再通过JavaScript来获取这些自定义属性。下面我们来一步步了解如何取到自定义属性。
- 给元素绑定自定义属性
v-bind指令可以让我们将属性动态绑定到元素上,形式为:v-bind:属性名="表达式",或者简写为:属性名="表达式"。
我们可以这样给元素绑定一个自定义属性data-id:
<template> <div> <p v-bind:data-id="userId">User ID</p> </div> </template>
其中,userId是该组件的data中定义的一个变量。
- 获取自定义属性
我们可以通过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。
- 使用自定义属性
获取到自定义属性后,我们就可以进行一些相应的操作了。比如,在我们点击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>