美文网首页vue前端开发那些事儿
Vue高级特性「九」-- mixin 混入

Vue高级特性「九」-- mixin 混入

作者: loushumei | 来源:发表于2020-10-30 16:11 被阅读0次

    vue中提供了一种混合机制--mixins,用来更高效的实现组件内容的复用

    mixin使用实例

    index.vue 引入了mixin.js

    <template>
      <div>
        {{name}} {{major}} {{city}}
        <button @click="showName">点击</button>
      </div>
    </template>
    
    <script>
    import myMixin from './mixin'
    export default {
      mixins:[myMixin],//可以添加多个,会自动合并起来
      data() {
        return {
          name:'lolo',
          major:"web前端"
        };
      },
    };
    </script>
    
    

    mixin.js文件中页输出一个vue实例

    export default {
        data() {
            return {
                city:'北京',
            };
        },
        methods:{
            showName(){
                console.log(this.name)
            }
        },
        mounted(){
            console.log('mixin mounted',this.name)
        }
        
    };
    

    mixin.js vue实例的内容会和index的vue实例内容合并,
    index.vue 可以获取合并后的实例数据

    弊端

    mixin 并不是完美解决方案,会有一些问题

    • 变量来源不明确,不利于阅读
    • 多个minix可能造成类名冲突
    • mixin和组件可能出现多对多的关系,复杂度较高

    Vue3 提出的Composition API旨在解决这些问题

    相关文章

      网友评论

        本文标题:Vue高级特性「九」-- mixin 混入

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