这个问题可能更多关于Webpack和ES6 import
比关于Vue。进口Vue从'vue'进口“不同”Vue到不同的文件
我在写一个Vuex突变,它将一个新的mykey: []
添加到state
中的一个对象中。这需要使用Vue.set(state.myobj, 'mykey', [])
,以便新阵列获得反应性。
但是,当我import Vue from 'vue'
到我的mutations.js和使用Vue.set(...)
它不能解决问题(它什么都不做)。这个问题似乎是Vue
是不一样的Vue
,我在我的main.js文件中创建Vue对象时,我在我的主要js文件中使用。
我已验证问题与Vue导入到mutations.js的方式有关。如果我在main.js中编写window.MY_VUE = Vue
,然后在mutations.js中使用window.MY_VUE.set(...)
,则新数组按照预期工作,即当我推送到数组时,这些更改正确地反映在DOM中。自然地,比较window.MY_VUE === Vue
在mutations.js中返回false。
我做错了什么?什么才是解决问题的正确方法?
注意:作为一种变通方法,我现在替换对象:
state.myobj = { ...state.myobj, mykey: [] }
我使用Vue的2.4.2,2.4.0 Vuex和的WebPack 2.7.0。我没有使用Webpack代码分割。
在这里问一个偏离主题的问题,但是你能告诉我哪个IDE给VUE最好的支持吗?我是名义上的角度开发者。我刚开始用vue – Atlas
@Atlas我喜欢带Vetur扩展的VSCode – Desquid