Vue - 全局导入

Ale*_*son 4 javascript import global vue.js

我用

import {mapFields} from "vuex-map-fields"
Run Code Online (Sandbox Code Playgroud)

在每个组件中。

如何在不必导入的情况下在每个组件中使用它?这有什么风险吗?

Mar*_*esr 5

如果你想要全局,你必须做的就是注入到 Vue 实例中,就像我们使用 vuex 时所做的那样

主文件

import Vue from 'vue'
import store from './store'

new Vue( {
  el: '#app',
  store,
  render: h => h( App )
} );
Run Code Online (Sandbox Code Playgroud)

然后在任何组件中,您都可以console.log(this);你应该能够看到你的对象


Ste*_*Won 5

你可以使用 Vue.prototype 如下..

[源代码/main.js]

import { mapFields } from 'vuex-map-fields';
...
Vue.prototype.$mapFields = mapFields; 
Run Code Online (Sandbox Code Playgroud)

那么在任何组件中你都可以使用 this.$mapFields(...) 函数!

[在任何组件中]

<template>
......
</template>

<script>
export default {
  computed: {
    ...this.$mapFields({
      userFirstName: 'user.firstName',
      userLastName: 'user.lastName',
    }),
  },
};
</script>
Run Code Online (Sandbox Code Playgroud)

这段代码没有风险......