Javascript 如何在Vue中动态获取组件道具

Javascript 如何在Vue中动态获取组件道具,javascript,vue.js,vuejs2,components,Javascript,Vue.js,Vuejs2,Components,我正在使用Nuxt.js构建我的应用程序 我正在创建一个应用程序,它将展示我们的所有组件,以供文档使用。 我有以下资料: 我的numxt.jsglobal.js文件导入并设置我的组件: import ShowComponent from '../components/ShowComponent.vue' import MyComponent from '../components/MyComponent.vue' Vue.component('show-component', ShowCo

我正在使用Nuxt.js构建我的应用程序

我正在创建一个应用程序,它将展示我们的所有组件,以供文档使用。 我有以下资料:


我的numxt.js
global.js
文件导入并设置我的组件:

import ShowComponent from '../components/ShowComponent.vue'
import MyComponent from '../components/MyComponent.vue'

Vue.component('show-component', ShowComponent)
Vue.component('my-component', MyComponent)
此时我要做的是在屏幕上显示组件正在使用的
道具
,在这种情况下:
my component

我已经能够在模板代码中使用
。我将如何在JS代码中使用它?比如:

let component=getInstanceOf('my-component');
console.log(component.props);


我在
我的组件
上定义了
道具
的完整表示形式,以打印一组道具,这将是非常好的:
console.log(Object.keys(component.props))

从主Vue实例按名称访问组件的一种方法是:

let componentName = 'my-component';
const component = this.$options.components[componentName];
如果需要从另一个组件内部访问此实例,则首先必须引用主Vue实例,即
this.$root
,即

const component = this.$root.$options.components[componentName];
以及访问该组件的道具:

let props = component.options.props;

我希望这会有所帮助。

但是
组件
不是可用的变量。我正试图弄清楚如何将有关组件的信息放入变量中。@Justin也许我不确定你到底在问什么。如果您不在组件的上下文中,您可以像上面那样导入组件,并通过
Object.keys(MyComponent.props)
访问可用的道具。如果您在组件的上下文中,您可以调用Object.keys(this.$options.props),以获取该组件的可用道具数组。我的第一个问题是,如果在
导出默认值之前的代码块中,是否有方法使用
实例?或者,我可以使用某个方法初始化某个变量,然后可以从该区域中定义的所有其他方法访问该变量。主vue实例
const vm=new vue(…)
然后
vm.$options.components[componentName]
?在你描述的案例中,你为什么需要这个?