小生愛

        
        <script>
                // 混合以一种灵活的方式为组件提供分布复用功能 混合对象可以包含任意的组件选项
                // 定义混合对象
                let myMixin = {
                    // 定义组件的钩子在组件的钩子之前执行
                    created (){
                        console.log('混合组件');
                        this.pull();
                    },
                    methods : {
                        pull (){
                            console.log('混合组件的pull事件');
                        }
                    }
                };

                export default {
                    // 通过mixins 使用混合组件
                    mixins : [myMixin],
                    created (){
                        console.log('组件');
                    },
                    methods : {
                        // 组件的pull将覆盖混合对象的pull属性
                        pull (){
                            console.log('组件的pull事件');
                        }
                    }
                }
            
        </script>
        


        <script>
                
                // 为所有组件注册created属性
                Vue.mixin({
                    created (){
                        var myOption = this.$options.myOption
                        if(myOption){
                            console.log(myOption)
                        }
                    }
                })

                // 创建根实例时 会执行全局注册的组件属性created
                // 输出hello
                new Vue({
                    el : 'body',
                    myOption: 'hello!'
                })

        </script>