Vue.js 外部JS文件中的Vue原型和对vuex$存储的访问
我已经设置了一个vue原型Vue.js 外部JS文件中的Vue原型和对vuex$存储的访问,vue.js,module,prototype,vuex,Vue.js,Module,Prototype,Vuex,我已经设置了一个vue原型 Vue.prototype.$preventAccess = function (role ) { if(role === this.$store.state.role) { // do some stuff } } 这是我的主要入口点,但是当我尝试在外部模块prevent.js中使用它时 import store from '@store/store'; import Vue from 'vue'; export default function log(
Vue.prototype.$preventAccess = function (role ) {
if(role === this.$store.state.role) {
// do some stuff
}
}
这是我的主要入口点,但是当我尝试在外部模块prevent.js中使用它时
import store from '@store/store';
import Vue from 'vue';
export default function log({ next, to }) {
console.log(Vue.prototype.$preventAccess('Editor'));
}
我得到了错误
Cannot read property 'state' of undefined
我不能在这样的外部JS文件中使用我的原型吗?如何将存储注入外部模块?请遵循此处的文档: 当使用prototype时,当您基于该类创建对象时,您可以访问该类 在访问Vue.prototype.$preventAccess时,没有此选项,因为没有Vue实例,所以不会创建此选项 如果实例化Vue并在该实例上调用$preventAccess,则调用将有效
var app = new Vue({
el: "#app",
})
app.$preventAccess()
现在,$preventAccess已经定义了一个这样的插件。如果没有原型,应该可以工作:Vue。$preventAccess=function在应用程序的其他地方会破坏它。也许你必须创建一个插件来完成你想做的事情:
var app = new Vue({
el: "#app",
})
app.$preventAccess()