Javascript 如何使用自定义Vue实例注入Vue组件
我见过一些插件使用自定义Vue实例来调用自己的Vue组件。差不多Javascript 如何使用自定义Vue实例注入Vue组件,javascript,vue.js,vue-component,Javascript,Vue.js,Vue Component,我见过一些插件使用自定义Vue实例来调用自己的Vue组件。差不多 this.$activateLoadingBar.options({color:"Green", msg:"loading"}) 然后会弹出一个绿色的加载条,其消息为“加载” 我想试着创造自己。因此,我创建了一个新组件,并使用 Vue.prototype.$<name> = ...enter code here... Vue.prototype.$=…在此处输入代码。。。 那我就完全迷路了。我应该怎么做才能得到
this.$activateLoadingBar.options({color:"Green", msg:"loading"})
然后会弹出一个绿色的加载条,其消息为“加载”
我想试着创造自己。因此,我创建了一个新组件,并使用
Vue.prototype.$<name> = ...enter code here...
Vue.prototype.$=…在此处输入代码。。。
那我就完全迷路了。我应该怎么做才能得到我需要的结果?我不知道这个方法叫什么,所以我无法搜索internet。您可以使用全局事件总线。请参见下面的示例:
<template>
<div>
<button @click="sendMessageToChild">Send message to child</button>
<HelloWord />
</div>
</template>
<script>
import HelloWord from '@/components/HelloWord.vue';
export default {
name: 'App',
components: { HelloWord },
methods: {
sendMessageToChild() {
this.$root.$emit('messageToChild', 'any text');
},
},
};
</script>
向孩子发送消息
从“@/components/HelloWord.vue”导入HelloWord;
导出默认值{
名称:“应用程序”,
组件:{HelloWord},
方法:{
sendMessageToChild(){
这是.$root.$emit('messageToChild','anytext');
},
},
};
x={{message}}
导出默认值{
名称:“HelloWord”,
数据(){
返回{
消息:“”,
};
},
安装的(){
this.$root.$on('messageToChild',text=>(this.message=text));
},
};
在本例中,有两个组件(父组件和子组件)。父组件调用子组件
但是你可以改变这个,孩子可以打电话给父母
另一方面,您可以使用或。但是,如果您是初学者,这将更加复杂。您可以使用全局事件总线。请参见下面的示例:
<template>
<div>
<button @click="sendMessageToChild">Send message to child</button>
<HelloWord />
</div>
</template>
<script>
import HelloWord from '@/components/HelloWord.vue';
export default {
name: 'App',
components: { HelloWord },
methods: {
sendMessageToChild() {
this.$root.$emit('messageToChild', 'any text');
},
},
};
</script>
向孩子发送消息
从“@/components/HelloWord.vue”导入HelloWord;
导出默认值{
名称:“应用程序”,
组件:{HelloWord},
方法:{
sendMessageToChild(){
这是.$root.$emit('messageToChild','anytext');
},
},
};
x={{message}}
导出默认值{
名称:“HelloWord”,
数据(){
返回{
消息:“”,
};
},
安装的(){
this.$root.$on('messageToChild',text=>(this.message=text));
},
};
在本例中,有两个组件(父组件和子组件)。父组件调用子组件
但是你可以改变这个,孩子可以打电话给父母
另一方面,您可以使用或。但是如果您是初学者,这会更复杂。谢谢,我使用Vuex,但我不知道如何在Vuex中调用$root.$emit。如果您使用Vuex,则不能调用
$root.$emit
。使用Vuex,必须创建状态和变异。全局事件总线适用于简单情况。谢谢,我使用Vuex,但我不知道如何在Vuex中调用$root.$emit。如果使用Vuex,则不能调用$root.$emit
。使用Vuex,必须创建状态和变异。全局事件总线用于简单情况。