美文网首页Vue
vue-api-组合

vue-api-组合

作者: 第三人称i | 来源:发表于2018-12-01 12:05 被阅读0次

    extends 扩展

    <!--
    详情:
        许声明扩展另一个组件(可以是一个简单的选项对象或构造函数),而无需使用 Vue.extend。这主要是为了便于扩展单文件组件。
    
    mixins 与 extends 的区别:
        mixins: 多继承、 任何文件都可以引入 去继承里面的属性跟方法
        extends: 单继承、对单个组件的扩展性丰富
    -->
    
    <script>
        // 单独js文件 (extends.js)
        const indexExtends = {
            data () {
                return {
                    Title: 'extends扩展'       
                }
            },
            mounted () {
                console.log('extends扩展 钩子函数');
            }
        }
    
        export default indexExtends;
    
    
        // vue 组件引入
    
        import indexExtends from "./extends.js";
    
        export default {
            extends: indexExtends           // 使用扩展
        }
    
    </script>
    
    <!--
    mixins、extends、components 三者执行顺序以及属性、方法覆盖
    
    三者执行顺序:  extends > mixins > components
    
    覆盖顺序: components > mixins > extends
    -->
    

    mixins 混入

    <!--
    详情:
        mixins 接受一个混入对象的数组,混入实例对象可以像正常的实例对象一样包含选项,他们将在 Vue.extend() 里最终选择使用相同的选项合并逻辑合并。
    -->
    
    <script>
        // 单独js文件 (mixins.js)
        const indexMixins = {
            data () {
                return {
                    Title: 'mixins混入'  
                }
            },
            methods: {
            },
            mounted () {
                console.log('mounted 钩子函数');
            }
            // ...  包含所有 选项函数、属性
        }
    
        export default indexMixins;
    
    
        // vue 组件引入
    
        import indexMixins from "./mixins.js";
    
        export default {
            mixins: [indexMixins]       // 使用混入
        }
    </script>
    
    <!-- 
    !
    !
    !
      !!!注意: 
        再俩个文件公用混入时,只能公用相同的处理函数,以及相同的变量属性,无法进行消息传递!!!
    -->
    

    相关文章

      网友评论

        本文标题:vue-api-组合

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