vue-cli3.x Vue.prototype挂载


使用vue-cli3.x 创建项目

之前vue-cli2创建项目后,如果自定义js插件,可以通过 

import xxx from 'xxx'

Vue.prototype.$xxx = xxx

将xxx挂载到Vue原型上,但到了cli3中,根据网上资料,现在

import Vue from 'vue' 并不能返回Vue对象,如果还是使用

Vue.prototype.$xxx = xxx挂载,那在子组件中也无法通过this.$xxx进行调用

cli3中现在是通过createApp创建Vue实例对象,我们需要将js组件引入,通过props的形式传递(axios以前是需要挂载,现在通过VueAxios可以直接use使用)

import  { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

import axios from 'axios'
import VueAxios from 'vue-axios'

import xxx from './utils/xxx.js'

createApp(App,{xxx:xxx}).use(store).use(router).use(VueAxios,axios).mount('#app')

在子组件中引用xxx

<template>
    <div class="sub">
        <h1>This is an subpage</h1>
    </div>
</template>

<script>
    export default {
        name: 'Sub',
        props: {
            xxx:Object //定义prop接收
        },
        mounted()
        {
            this.$props.xxx.post() //可直接调用
        },
        methods:
        {
        }
    }
</script>

<style>
</style>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM