zoukankan      html  css  js  c++  java
  • vue混入(mixins)

    混入(mixins)是一种分发vue组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。

    当组件使用混入对象时,所以混入对象的选项将被混入该组件本身选项,当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合

    当组件和混入对象数据发生冲突时组件数据优先

    如:

    var mixin = {
      data: function () {
        return {
          message: 'hello',
          foo: 'abc'
        }
      }
    }
    
    new Vue({
      mixins: [mixin],
      data: function () {
        return {
          message: 'goodbye',
          bar: 'def'
        }
      },
      created: function () {
        console.log(this.$data)
        // => { message: "goodbye", foo: "abc", bar: "def" }
      }
    })

    同名钩子函数将混合为一个数组,都将被调用,混合对象的钩子将先调用,组件自身钩子后调用

    var mixin = {
      created: function () {
        console.log('混入对象的钩子被调用')
      }
    }
    
    new Vue({
      mixins: [mixin],
      created: function () {
        console.log('组件钩子被调用')
      }
    })
    
    // => "混入对象的钩子被调用"
    // => "组件钩子被调用"

    因为混入(mixins)是一种分发vue组件中可复用功能的非常灵活的方式。混入对象可以包含任意组件选项。

    所以对于混入对象可以放在一个js文件中封装然后引入组件

    如:在src/common/js/mixins.js是编写混合的

    export const playlistMinin = {
      computed: {
      //代码
      },
    
      mounted() {
       //代码
      },
      methods: {
       //代码
      }
    }
    
    
    export const playerMixin= {
      computed: {
      //代码
      },
    
      mounted() {
       //代码
      },
      methods: {
       //代码
      }
    }

    在组件components/singer/singer.vue中使用上面的代码

    <script type='text/ecmascript-6'>
    
    import {playlistMinin,playerMixin} form '../../common/js/mixin';
    
    export default{
    
      mixins:[playlistMinin,playerMixin],
    
    }
    
    </script>
  • 相关阅读:
    android 读中文文本文件
    Android-将RGB彩色图转换为灰度图
    andriod 获取电池的信息
    android studio快捷键
    2016年深圳市服务业占GDP比重首次突破六成
    三分钟看完北京城市(含京津冀)【总体规划2016-2050】
    CentOS 7.3.1611系统安装配置图解教程
    为何北美华裔二代三代之后长相就跟中国人不一样了?
    别看不起印度,印度比中国好多了?
    东南亚十大城市
  • 原文地址:https://www.cnblogs.com/YAN-HUA/p/9138898.html
Copyright © 2011-2022 走看看