zoukankan      html  css  js  c++  java
  • VUE--mixins的一些理解。

    概念:混入 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

    用法:

      1、创建混入对象:在src文件夹创建mixins文件夹,再在mixins文件夹下创建一个index.js文件

    // 创建一个需要混入的对象 
    export const mixinstest = {
        data(){
            return {
                testMix: '混入对象的data'
            }
        },
        created(){
            console.log('这是混入对象的created')
        },
        methods:{
            mixinsFun(){
                console.log('调用混入对象的methods的函数')
            }
        },
        computed:{
            testMix2(){
                return this.testMix+':这是混入对象计算结果。'
            }
        },
        watch: {
            testMix(newVal,oldVal){
                console.log('混入对象的watch')
            }
        }
    }

      2、在组件内引入并引用混入

    <template>
        <div>
            <div>{{testMix}}</div>
            <div @click="mixinsFun">{{testMix}}</div>
            <input type="text" v-model="testMix">
            <div>{{testMix2}}</div>
        </div>
    </template>
    <script>
    import {mixinstest} from '../../mixins/index' 
    export default {
        mixins: [mixinstest],
        data (){
            return {
                testMix:'这是组件的数据'
            }
        },
        created(){
            console.log('这是组件的created')
        },
        methods: {
            mixinsFun(){
                console.log('调用组件的methods的函数')
            }
        },
        computed:{
            testMix2(){
                return this.testMix+':这是组件计算结果'
            }
        },
        watch: {
            testMix(newVal,oldVal){
                console.log('组件的watch')
            }
        }
    }
    </script>
    <style>
    
    </style>

      3、相关的解释

      3.1 当在组件中和混入中有相同的‘testMix’这个数据时,显示组件中’testMix’对应的数据,当只用混入中有’testMix‘函数时,显示混入中’testMix’对应的数据。

      3.2 在组件中和混入中有相同的函数mixinsFun()时,在组件中调用时,调用的是组件中的mixinsFun()函数,当只用混入中有mixinsFun()函数时,在组件中调用mixinsFun()是调用混入中的。
      3.3 在组件中和混入中有相同的computed函数testMix2()时,在组件中调用时,调用的是组件中的testMix2()函数,当只用混入中有computed函数testMix2()时,在组件中调用testMix2()是调用混入中的。

      3.4在组件中和混入中有相同的created()函数时,先执行混入中的created,再执行组件中的created。猜想其他生命周期也应该是一样。

      3.5在组件中和混入中有相同的watch()函数testMix时,先执行混入中watch的testMix,再执行组件中watch的testMix。

      

     

  • 相关阅读:
    DotNetty是微软的Azure团队,使用C#实现的Netty的版本发布
    C# 与 .NET Framework 对应关系
    C# 基于Directshow.Net lib库 USB摄像头使用DirectShow.NET获取摄像头视频流
    Actor模型的状态(State)+行为(Behavior)+邮箱(Mailbox)
    c# 无法加载DLL:找不到指定的模块(异常来自HRESULT:0X8007007E)
    管道式编程(Pipeline Style programming)
    Word文档转Markdown插件(Windows)
    纯Java实现定时任务(转)
    Spring MVC使用Schedule实现定时任务
    Spring Boot使用Schedule实现定时任务
  • 原文地址:https://www.cnblogs.com/aidixie/p/10403892.html
Copyright © 2011-2022 走看看