zoukankan      html  css  js  c++  java
  • Vue.js Mixins 混入使用

    Mixins一般有两种用途:

    1、在你已经写好了构造器后,需要增加方法或者临时的活动时使用的方法,这时用混入会减少源代码的污染。

    2、很多地方都会用到的公用方法,用混入的方法可以减少代码量,实现代码重用。

    一、Mixins的基本用法

    我们现在有个数字点击递增的程序,假设已经完成了,这时我们希望每次数据变化时都能够在控制台打印出提示:“数据发生变化”.

    代码实现过程:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <script type="text/javascript" src="../assets/js/vue.js"></script>
        <title>Mixins Option Demo</title>
    </head>
    <body>
        <h1>Mixins Option Demo</h1>
        <hr>
        <div id="app">
            <p>num:{{ num }}</p>
            <P><button @click="add">增加数量</button></P>
        </div>
     
        <script type="text/javascript">
            //额外临时加入时,用于显示日志
            var addLog={
                updated:function(){
                    console.log("数据放生变化,变化成"+this.num+".");
                }
            }
            var app=new Vue({
                el:'#app',
                data:{
                    num:1
                },
                methods:{
                    add:function(){
                        this.num++;
                    }
                },
                mixins:[addLog]//混入
            })
        </script>
    </body>
    </html>

    二、mixins的调用顺序

    从执行的先后顺序来说,都是混入的先执行,然后构造器里的再执行,需要注意的是,这并不是方法的覆盖,而是被执行了两边。

    在上边的代码的构造器里我们也加入了updated的钩子函数:

    1 updated:function(){
    2       console.log("构造器里的updated方法。")
    3 },

    mixins数据放生变化,变化成2.

    构造器里的updated方法。

    三、全局API混入方式

    我们也可以定义全局的混入,这样在需要这段代码的地方直接引入js,就可以拥有这个功能了。我们来看一下全局混入的方法:

    1 Vue.mixin({
    2 
    3     updated:function(){
    4         console.log('我是全局被混入的');
    5     }
    6 })

    PS:全局混入的执行顺序要前于混入和构造器里的方法。

  • 相关阅读:
    Lua小技巧
    Lua中使用table实现的其它5种数据结构
    Lua 5.3 协程简单示例
    Lua 5.3 迭代器的简单示例
    Lua函数以及闭合函数的理解
    BabeLua常见问题
    Windows下的lua-5.3.4安装过程
    C++ 设计模式 开放封闭原则 简单示例
    UML基础系列:类图
    面向对象程序设计基本概念
  • 原文地址:https://www.cnblogs.com/musicbird/p/10132005.html
Copyright © 2011-2022 走看看