我已经编写了一些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
类是什么?
答案 0 :(得分:0)
要以vue方式进行操作,可以创建自己的插件或mixin。查看详细说明here
因此,您可以在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)