Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何将组件注入vuejs中的其他组件_Vue.js - Fatal编程技术网

Vue.js 如何将组件注入vuejs中的其他组件

Vue.js 如何将组件注入vuejs中的其他组件,vue.js,Vue.js,在Vuejs项目中,假设我已经创建了10个基本组件,现在我必须将这些组件使用到另一个容器组件中。现在我的问题是如何在根级别全局注入这些基本组件,这样我就不需要注入到每个单独的容器组件中了 在Vuejs中全局注入自定义组件的最佳方法是什么 如何在全球范围内为整个应用程序使用第三方插件 为什么不创建一个文件来保存所需组件的导入?假设它们被分组在homepage下,或者您只需要一个homepage.js文件就可以保存导入: import Component from '@/components/ho

在Vuejs项目中,假设我已经创建了10个基本组件,现在我必须将这些组件使用到另一个容器组件中。现在我的问题是如何在根级别全局注入这些基本组件,这样我就不需要注入到每个单独的容器组件中了

  • 在Vuejs中全局注入自定义组件的最佳方法是什么
  • 如何在全球范围内为整个应用程序使用第三方插件
为什么不创建一个文件来保存所需组件的导入?假设它们被分组在
homepage
下,或者您只需要一个
homepage.js
文件就可以保存导入:

import Component from '@/components/homeButton.vue';
// Etc.

export default {
    Component
    // Etc.
}
只要在需要这组组件时导入此文件即可。并在组件中使用如下展开运算符:

import homepage from 'somedir/homepage';

components: {
    ...homepage
},
Vue.prototype.$axios = axios;
组件('component-tag-name',{//options})

如果您使用的是生成过程和单独的.vue文件

import MyComp from './path-to-your-component'

Vue.component('component-tag-name', MyComp);
现在,您可以在任何其他组件中使用该组件,而无需在本地注册它

<component-tag-nam></component-tag-name>
现在,您可以使用
this在任何组件中使用axios。$axios

创建钩子中的示例:

created(){
    this.$axios.get('url').then((res) => {
        //response
    });
}

感谢您的回答,这是一个很好的选择,以避免混乱的代码。但在这种情况下,我们也需要导入所有组件,无论是间接导入,但我们必须导入。我想要一个像我们在角度方面一样,在全球范围内进口的东西。VueJs中有类似的东西吗?第二个问题是导入时您能否告诉我什么是
@
,因为我是Vuejs新手。谢谢,第1点-我也这么做了,但在加载时出现了一些错误请参见此处了解更多详细信息,对于第2点-我使用axios做了相同的操作,但使用相同的操作,这在创建方法之外是无法实现的不知道为什么?@PardeepJain组件看起来不错,但是你能展示一下如何在main.js文件中注册组件吗?你试过阅读一次文档吗?我知道第一步是任何框架的文档,但这并没有解决我的问题,这是我在这里问的@hamzox为什么要投否决票?因为这是Vue中最基本的东西。互联网上有很多关于“如何在Vue中全局定义组件”等的博客/资料/文章/教程。你应该在询问之前做一些研究。(这就是Stackoverflow所说的)同意,这是Vue中一个非常基本的东西。你同时问了两个不同的问题。。。这两个方面在优秀的Vue文档中都非常清楚。但是,很容易演示如何使用Vue插件或混合插件的快速示例。