# vue.use
注册组件两种方法
import Vuex from 'vuex'
Vue.use(Vuex)
import Echarts from 'echarts'
Vue.prototype.$echarts = Echarts
1
2
3
4
5
2
3
4
5
# vue.use
export function initUse (Vue: GlobalAPI) {
Vue.use = function (plugin: Function | Object) {
const installedPlugins = (this._installedPlugins || (this._installedPlugins = []))
if (installedPlugins.indexOf(plugin) > -1) {
return this
}
// additional parameters
const args = toArray(arguments, 1)
args.unshift(this)
if (typeof plugin.install === 'function') {
plugin.install.apply(plugin, args)
} else if (typeof plugin === 'function') {
plugin.apply(null, args)
}
installedPlugins.push(plugin)
return this
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vue.use(plugin), plugin为function 或者 object, function直接调用,object调install方法,第一个参数为vue
好处,可以在plugin install里面写更多的逻辑
import Echarts from 'echarts'
export default {
install(Vue){
Vue.prototype.$echarts = Echarts
...
}
}
1
2
3
4
5
6
7
2
3
4
5
6
7