@@ -22,7 +22,6 @@ class Store {
2222 state = { } ,
2323 modules = { } ,
2424 plugins = [ ] ,
25- getters = { } ,
2625 strict = false
2726 } = options
2827
@@ -39,7 +38,7 @@ class Store {
3938 this . dispatch = bind ( this . dispatch , this )
4039
4140 // init state and getters
42- extractModuleGetters ( getters , modules )
41+ const getters = extractModuleGetters ( options . getters , modules )
4342 initStoreState ( this , state , getters )
4443
4544 // apply root module
@@ -125,8 +124,8 @@ class Store {
125124 res = Promise . resolve ( res )
126125 }
127126 return res . catch ( err => {
128- console . warn ( `[vuex] error in Promise returned from action ${ type } ` )
129- console . warn ( err )
127+ console . warn ( `[vuex] error in Promise returned from action " ${ type } ": ` )
128+ console . error ( err )
130129 } )
131130 } )
132131 }
@@ -196,7 +195,7 @@ class Store {
196195 this . module ( [ ] , options , true )
197196
198197 // update getters
199- const getters = extractModuleGetters ( newOptions . getters || { } , newOptions . modules )
198+ const getters = extractModuleGetters ( newOptions . getters , newOptions . modules )
200199 if ( Object . keys ( getters ) . length ) {
201200 const oldVm = this . _vm
202201 initStoreState ( this , this . state , getters )
@@ -238,8 +237,8 @@ function initStoreState (store, state, getters) {
238237 Vue . config . silent = silent
239238}
240239
241- function extractModuleGetters ( getters , modules , path = [ ] ) {
242- if ( ! modules ) return
240+ function extractModuleGetters ( getters = { } , modules = { } , path = [ ] ) {
241+ if ( ! modules ) return getters
243242 Object . keys ( modules ) . forEach ( key => {
244243 const module = modules [ key ]
245244 if ( module . getters ) {
@@ -254,6 +253,7 @@ function extractModuleGetters (getters, modules, path = []) {
254253 }
255254 extractModuleGetters ( getters , module . modules , path . concat ( key ) )
256255 } )
256+ return getters
257257}
258258
259259function enableStrictMode ( store ) {
0 commit comments