美文网首页
Vue mixin 混入及自定义Vue插件

Vue mixin 混入及自定义Vue插件

作者: Do_Du | 来源:发表于2020-06-02 17:56 被阅读0次

一、mixin混入

mixin即合并公共方法: 可以设置通用的方法或者变量
外部mixin 如下:
全局mixinVue.mixin = ({})

export const m1 = {
  data(){
      return {
          nickname: '张三' // data的变量会被单页里定义的给覆盖
      }
  },
  mounted(){
      console.log('123') // 但是mounted是不会覆盖的,这里会执行
  },
  methods: {
    sayHello() {
        console.log('hello')
    }
  }
}

new Vue({
  el: '#app',
  mixins: [m1],
  data() {
    return {
        nickname: '李四', // 若在本vue中也定义了同名变量,则这个值会覆盖mixins定义的
        age: 20
    }
  },
  mounted(){
      console.log('456') // 但是mounted是不会覆盖的,这里也会执行
      this.sayHello();
  }
})

{{nickname}}-{{age}}若在单页里不定义nickname也能拿到nickname,因为minxins混入了原先已经定义好的

二、Vue 自定义插件

  var my_plugin = {
      install (Vue, options) { // 这个必须
        // 混入
        Vue.mixin({
          data(){
            return {
                nickname: '张三' // data的变量会被单页里定义的给覆盖
            }
          },
          mounted(){
            console.log('123') // 但是mounted是不会覆盖的,这里会执行
          },
          methods: {
            sayHello() {
              console.log('hello')
            }
          }
        })

        // 自定义组件
        Vue.component("sb",{
          template: "<h1>simba组件</h1>"
        })

        // 自定义指令
        Vue.directive("focus", {
          inserted(el) {
            el.focus()
          }
        })

        // 扩展属性
        Vue.prototype.$log = console.log

        if (options && options.debug){
          
        }
      }
    }

插件写好后 使用Vue.use(my_plugin) 安装下即可使用
在vue文件中调用

<sb/> // 使用组件

<input type="text" v-focus> // 使用指令

$log('111'); // 使用属性

同上还能使用混入的方法

若这么写

Vue.use(my_plugin,{ debug: true})

那么上面的插件代码options就能取到值debug: true

相关文章

  • Vue2.0双向绑定源码分析

    A:vue的双向绑定 B:vue自定义插件 C:vue混入

  • Vue mixin 混入及自定义Vue插件

    一、mixin混入 mixin即合并公共方法: 可以设置通用的方法或者变量外部mixin 如下:全局mixin:V...

  • vue 组件的理解

    Vue.mixin 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对...

  • vue混入mixin

    Vue.mixin 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对...

  • Vue 之 混入(mixins)

    Vue 之 混入(mixins) 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功...

  • vue混入是什么?简单聊一下vue混入

    一、vue混入是什么? 关于vue的混入官方给出的解释是混入 (mixin) 提供了一种非常灵活的方式,来分发 V...

  • vue mixin

    混入 mixin 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象...

  • vue mixin(混入)

    目的 增强组件功能的可复用性,一个混入对象可以包含任意组件选项

  • vue混入mixin

    mixin主要作用是提取组件中相同的代码,对生命周期、methods、components、data都可以做提取,...

  • Vue混入(mixin)

    理解:一个混入对象可以包含任意组件选项,这些选项将混入到组件本身的选项;作用:用来分发Vue组件中的可服用功能; ...

网友评论

      本文标题:Vue mixin 混入及自定义Vue插件

      本文链接:https://www.haomeiwen.com/subject/woqpzhtx.html