如何在vue.js项目的main.js文件中导入js类并在所有组件中使用它,而不是在每个组件中导入?

Syed Ajlal Haider Naqvi

我已经写了一些JS类,希望将其导入vue.js项目的app.js / main.js文件中,以便可以在组件中实例化它们。现在,我必须在需要单个类的所有组件中导入相同的JS类。

我已经尝试了main.js文件中的导入,但是组件无法识别它。

在main.js文件中,我按如下方式导入

import Permissions from './Permissions'

但是,当我想在我的组件中实例化Permissions类时

data() { permissions: new Permission({ some object properties... }) }

该组件不知道是什么Permissions

如何让组件知道什么是Permissions类?

air尔女王

为此,您可以创建自己的插件或mixin。在这里查看详细说明

因此,您可以在Permissions-plugin.js中创建一个权限插件

import Permissions from './Permissions'

const PermissionsPlugin = {
  install(Vue, options) {
    // This adds the $getPermissions method to all instances
    Vue.prototype.$getPermissions = function(properties) {
      return new Permission({
        some object properties...
      })   
    }
  }
};

然后,您必须告诉vue使用您的插件:

import Vue from 'vue'
import PermissionsPlugin from './permissions-plugin.js'
import App from './App.vue'

// The plugin is loaded here.
Vue.use(PermissionsPlugin)

new Vue({
  el: '#app',
  render: h => h(App)
});

最后,现在从任何组件开始,您都应该可以使用以下功能:

this.$getPermissions(properties)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章