我可以使用 Vuex 来存储我自己的类对象吗?

tof*_*fee 5 javascript vue.js vuex

我想在组件之间共享一个对象,类代码在那里。

class IDE {
constructor(id) {
    config.set('basePath', 'static/js/ace');
    this.aceEditor = edit(id);
    this.aceSession = this.aceEditor.session;
    this.aceSession.setMode("ace/mode/javascript");
    this.aceEditor.setTheme('ace/theme/monokai');
    this.aceEditor.setShowPrintMargin(false);
}
setMode() {

}
}
Run Code Online (Sandbox Code Playgroud)

有人告诉我使用 vuex,这是我的商店模块代码。

export default{
namespaced:true,
state:{
    ide:null
},
mutations:{
    setIDE(state,ide){
        state.ide = ide
    }
},
getters:{
    getIDE: state =>{return ide}
}
}
Run Code Online (Sandbox Code Playgroud)

当我尝试在商店中获取我的 ide 对象时 this.$store.state.global.ide.__proto__.setMode('ace/mode/java')

铬总是告诉我 TypeError: Cannot read property 'setMode' of undefined

所以我在开发工具中查看我的代码

在此处输入图片说明

  1. 我如何调用我的对象ide.setMode()
  2. vuex 可以存储对象吗?我发现很多 vuex 的例子都使用简单的变量,比如数字和字符串。没有使用复杂的类对象。