plugin插件

plugin用于增强Vue。

示例:定义一个插件(插件需要实现install()方法)

  1. export default {
  2. // install 可以接收到Vue对象(此处不是vm,而是vm的创建者Vue)
  3. install(Vue) {
  4. // 通过传入的Vue对象,可以添加全局的过滤器、全局指令、全局混入等等
  5. Vue.filter('mySlice', function(value){
  6. return value.slice(0,4)
  7. })
  8. Vue.directive('fbind', {
  9. bind(element, binding) {
  10. element.value = binding.value
  11. }
  12. })
  13. Vue.mixin({
  14. data() {
  15. return {
  16. title: 'test'
  17. }
  18. }
  19. })
  20. // 给Vue原型上添加一个方法,之后vm和vc都可以使用该方法
  21. Vue.prototype.sayHello = () => (alert('hello'))
  22. }
  23. }

使用插件:在main.jsnew Vue之前,通过use使用插件:

  1. import plugins from './plugins'
  2. // 使用插件
  3. Vue.use(plugins)

install参数

install方法的第一个参数是Vue,后面还可以继续接收到Vue.use中传入的其他参数。

例如:

  1. Vue.use(plugins, 1, 2, 3)

则:

  1. install(Vue, a, b, c ){
  2. // 此处的Vue接收到的是Vue对象
  3. // a可以接收到1,
  4. // b可以接收到2
  5. // c可以接收到3
  6. }