插件的意义
插件通常用来为 Vue 添加全局功能。插件的功能范围没有严格的限制——一般有下面几种:
-
添加全局方法或者 property。如:vue-custom-element
-
添加全局资源:指令/过滤器/过渡等。如 vue-touch
-
通过全局混入来添加一些组件选项。如 vue-router
-
添加 Vue 实例方法,通过把它们添加到
Vue.prototype
上实现。 -
一个库,提供自己的 API,同时提供上面提到的一个或多个功能。如 vue-router
-
实现
通过全局方法 Vue.use() 使用插件。它需要在你调用 new Vue() 启动应用之前完成:
Vue.use(MyPlugin) == MyPlugin.install(Vue)
示例
let Vue;
import XRouterLink from './XRouterLink.js';
import XRouterView from './XRouterView.js';
import routes from './routes'
class KRouter {
constructor(opitons) {
this.$option = opitons
}
}
KRouter.install = (_Vue) => {
Vue = _Vue;
console.log(KRouter)
console.log(this)
Vue.mixin({
created() {
//实例挂载数据
this.$router = routes
}
})
//注册全局组件
Vue.component('XRouterLink', XRouterLink)
Vue.component('XRouterView', XRouterView)
}
export default KRouter;
网友评论