Vue.use

问题

相信很多人在用Vue使用别人的组件时,会用到 Vue.use()

例如:Vue.use(VueRouter)、Vue.use(MintUI)

但是用 axios时,就不需要用 Vue.use(axios),就能直接使用。

答案

因为 axios 没有 install

什么意思呢?接下来我们自定义一个需要 Vue.use() 的组件,也就是有 install 的组件,看完之后就明白了

建立一个简单的项目,项目结构如下:

src/components/loading目录下建立两个文件,分别是index.jsloading.vue

loading.vue的代码如下

  1. <template>
  2. <div>
  3. Loading.........
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. }
  11. },
  12. components: {
  13. }
  14. }
  15. </script>
  16. <style>
  17. </style>

index.js的代码:

  1. import LoadingComponent from "./loading"
  2. const Loading = {
  3. // install 是默认的方法。当 use 这个组件的时候,就会调用本身的 install 方法,同时传一个 Vue 这个类的参数。
  4. // install 方法的第一个参数就是Vue
  5. install: function (Vue) {
  6. this.util.init()
  7. Vue.component('Loading', LoadingComponent)
  8. console.log('component register to gobla context......')
  9. },
  10. // 在这里面可以添加其它的逻辑
  11. util: {
  12. init:function name() {
  13. console.log('component init.........')
  14. }
  15. }
  16. }
  17. // 导出
  18. export default Loading

使用

接下来在main.js中use该组件

  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import Loading from './components/loading/index' // index可以不用写,默认加载index.js
  4. // 全局注册组件 执行组件的install
  5. Vue.use(Loading)
  6. new Vue({
  7. el: '#app',
  8. render: h => h(App)
  9. })

在Loading组件的install方法中我们已经使用Vue.component方法注册了组件

所以在App.vue中直接使用即可

  1. <template>
  2. <div>
  3. <h1>vue loading</h1>
  4. <Loading />
  5. </div>
  6. </template>
  7. <script>
  8. //import Loading from './components/loading/loading.vue'
  9. export default {
  10. name: 'app',
  11. data () {
  12. return {
  13. msg: 'Welcome to Your Vue.js App'
  14. }
  15. },
  16. // 局部注册组件
  17. // components:{
  18. // Loading
  19. // }
  20. }
  21. </script>
  22. <style>
  23. </style>

这样我们在Vue全局中注册了该组件,在vue的任何一个实例上可以直接使用

Vue.use初探的更多相关文章

  1. vue.js初探

    前言 入手2016最火前端框架之一vue.js.大概从网上找了些资料看了下vue.js,从网上的资料来看只能惊叹其发展速度太快,让我意外的是其作者是华人的前提下作品这么受欢迎. 网上的博客和教程各种组 ...

  2. vue.js初探:计算属性和methods

    在vue.js中,计算属性和methods方法的函数相同时,两者的最终执行结果都是相同的.然而不同的是,计算属性是基于它的依赖缓存.计算属性只有在它的相关依赖发生改变时才会重新取值.这就意味着只要 m ...

  3. vue学习初探

    一.环境的搭建安装 VS Code vue开发环境的搭建 理解vue的脚手架 合适的cnpm版本

  4. 后端视角下的前端框架之Vue.js初探

    背景 作为常年搞后端的自己来说,除了多年前学习的一点关于HTML的皮毛,对现在的前端技术栈可谓是一窍不通.但是因为最近在做的内部业务全链路监控系统,负责前端的同事做到一半去搞别的项目了,为了把项目落地 ...

  5. Vue SSR初探

    因为之前用nuxt开发过应用程序,但是nuxt早就达到了开箱即用的目的,所以一直对vue ssr的具体实现存在好奇. 构建步骤 我们通过上图可以看到,vue ssr 也是离不开 webpack 的打包 ...

  6. Vue 2升级 Vue 3初探小细节

    前言 嗯,偶尔看看学习Vue 3技能啦,此前用过Vue 2做过一点东西,Vue 3已面世一段时间,于是乎,我来看看所遇到的问题是否在Vue 3中得到解决,首先,我们来讲讲一个例子在Vue 2中的实现, ...

  7. vue+cesium初探(一) 加载cesium

    参考文章1:https://www.cnblogs.com/laixiangran/p/4984522.html 参考文章2:https://blog.csdn.net/weixin_41940497 ...

  8. vue初探

    vue初探 很多同学一定都听过MVVM.组件.数据绑定之类的专业术语,而vue框架正是这样的一种框架.vue的作用是:通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 第一部分:vue介 ...

  9. vue学习之vue基本功能初探

    vue学习之vue基本功能初探: 采用简洁的模板语法将声明式的将数据渲染进 DOM: <div id="app"> {{ message }} </div> ...

随机推荐

  1. Nginx日志配置及日志分析脚本案例

    https://blog.csdn.net/bbwangj/article/details/82186162 nginx的log日志分为access log 和 error log 其中access ...

  2. 设置Linux的一些文本输出方式

    更新一下yum咯 yum install -y epel-release 火车 sudo yum install sl $ sl 放火 sudo yum install libaa-bin 小老鼠 s ...

  3. 深入理解MySQL索引底层数据结构

    作者:IT王小二 博客:https://itwxe.com MySQL 索引相关的数据结构有两种,一种是 B+tree,一种是 Hash,那么为什么在 99.99% 的情况下都使用的是 B+tree索 ...

  4. 如何更改Docker已经挂载的目录

    更改docker已经挂载的目录,主要有两种方式:一是重新创建容器,二是更改配置文件.第一种方式较为简单,下面具体演示第二种方式,通过更改配置文件来更换目录 挂载. 安装docker yum -y in ...

  5. Scratch 3 矢量编辑器——“临摹”一只哆啦A梦

    利用Scratch来制作一些小作品,常常需要到网上去找图片,而网上下载的图片一般都是位图,往往存在两个问题: 图片不够清晰,当图片放大后会出现"马赛克"现象: 图片中存在不必要的背 ...

  6. 使用Redis分布式锁控制请求串行处理

    1.需求背景 在一些写接口的场景下,由于一些网络因素导致用户的表单重复提交,就会在相邻很短的时间内,发出多个数据一样的请求.后台接口的幂等性保证一般都是先检查数据的状态,然后决定是否进行执行写入操作, ...

  7. C#语言类型

    讨论 所有类型在,值类型,引用类型用new创建,值类型由编译器自动补全 int等引用类型是轻量化结构更像是结构体 值类型在栈中,引用类型在堆中 所有类型由类派生,可以说每个是对象,也可以不是 由于.N ...

  8. gin框架简介

    介绍 Gin是一个golang的微框架,封装比较优雅,API友好,源码注释比较明确,具有快速灵活,容错方便等特点 对于golang而言,web框架的依赖要远比Python,Java之类的要小.自身的n ...

  9. golang中循环或递归求阶乘

    package main import "fmt" func factorialFor(num int) (ret int) { // 循环求阶乘 ret = 1 for i := ...

  10. Go 结构体方法

    #### Go 结构体方法本来今天有些事情忙的不准备更新内容了,后来提前完成了, 所以还是要更新了; 毕竟坚持本就是一件不容易的事情!加油,相信不管是大家还是我,都有一些事情想要做,那就坚持吧,剩下的 ...