Vue(八)全局变量和全局方法

一、在main.js同级目录建立一个common.js文件

// 全局变量
const globalObj = {};

// 定义公共变量
globalObj.name = '小明';

// 定义公共方法
globalObj.getAge = function (birthYear) {
    return new Date().getFullYear() - birthYear;
};

export default globalObj

二、在main.js中import这个文件,然后放在Vue原型里

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import Axios from 'axios'   // 引入Axios
import common from './common'   // 引入全局文件common.js

Vue.prototype.$axios = Axios;    // 全局变量
Vue.prototype.$common = common;    // 全局变量
Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app');

三、在组件里使用

<template>
    <div class="hello">
        <h1>{{ msg }}</h1>

        <h3>{{$common.name}}</h3>
        <p>{{myAge}}</p>
    </div>
</template>

<script>
    export default {
        name: 'HelloWorld',
        props: {
            msg: String
        },
        computed: {
            myAge: function () {
                return this.$common.getAge(1994);
            }
        }
    }
</script>

四、页面输出

五、思考

这种方式与Vuex起到的作用是一样的,比Vuex简单,但是Vuex就是比较专业了。不过还是有深层次的区别的,如下

大神回答:

 

转载于:https://www.cnblogs.com/LUA123/p/11082954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值