【发布时间】:2022-01-15 17:40:27
【问题描述】:
我会用一个例子更好地解释:
<template>
<Comp prop="ex" @click.native="log" />
</template>
在我的应用程序中有这个组件有没有办法从脚本中获取道具值? (期望“ex”记录):
<script>
import Comp from './components/Comp.vue'
export default {
components: {
Comp
},
methods: {
log() {
console.log(Comp.prop)
}
}
}
</script>
如果有办法,当同一个组件有多个实例时它会改变吗?
【问题讨论】:
-
打印与传递给组件相同的变量(即
console.log(this.ex))怎么样? -
@ssc-hrep3 不是变量而是'ex'字符串
-
@ssc-hrep3 因为我有不同的组件具有相同道具的不同值,我需要我点击的组件的值
-
由于您已经从消费组件(父级)传递了道具,因此您无需尝试从子级访问道具:道具值已经存在于父级中.
-
我看到了以下解决方案:要么将所有这些
prop值存储在一个变量中,然后在模板中循环它们。然后,您可以访问该值作为变量。或者您为所有道具定义单独的变量。或者你只是复制值<Comp prop="ex" @click.native="log('ex')" />。或者您将值传递给孩子,然后在事件上将其发送回父级(但您不能为此使用本机事件)。
标签: javascript vue.js