|
@@ -1,13 +1,29 @@
|
|
|
import { getWatcher, getDep } from './util'
|
|
|
|
|
|
export default function (Vue) {
|
|
|
- Vue.mixin({ init })
|
|
|
+ var version = Number(Vue.version.split('.')[0])
|
|
|
+
|
|
|
+ if (version >= 2) {
|
|
|
+ Vue.mixin({
|
|
|
+ init: vuexInit
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ // override init and inject vuex init procedure
|
|
|
+ // for 1.x backwards compatibility.
|
|
|
+ const _init = Vue.prototype._init
|
|
|
+ Vue.prototype._init = function (options = {}) {
|
|
|
+ options.init = options.init
|
|
|
+ ? [vuexInit].concat(options.init)
|
|
|
+ : vuexInit
|
|
|
+ _init.call(this, options)
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* Vuex init hook, injected into each instances init hooks list.
|
|
|
*/
|
|
|
|
|
|
- function init () {
|
|
|
+ function vuexInit () {
|
|
|
const options = this.$options
|
|
|
const { store, vuex } = options
|
|
|
// store injection
|