zoukankan      html  css  js  c++  java
  • vue mixin和extends的使用

    全局使用场景:所有子组件内部都与要某一个state、computed或者某个方法时,甚至在所有子组件某个生命周期内都需要执行一个一样功能时,都可用全局mixin;

    相同生命周期函数会先运行mixin内部的钩子函数,然后再运行组件内部的钩子函数,对于state、computed或者某个方法时,组件内部的会覆盖mixin内部的定义的
    全局注入步骤:
      首先新建一个mixin.js文件:

    import { mapGetters } from 'vuex'
    
    // export const Mixin = {
    export default{
      data(){
        return {
            navChildStatusOne: 1
        }
      },
      computed: {
        ...mapGetters([
          'navChildStatus'
        ]),
        pageMainLeft() {
          return this.navChildStatus ? '' : 'page-main-left'
        }
      },
      methods: {
          getUserlist(){
              console.log('from Mixin')
          }
      }
    }

    然后再mian.js页面引入

    import mixins from '@/common/js/mixin'

    然后注册

    Vue.mixin(mixins)

    使用: 
    在所有组件内部都可调取内部的方法和状态:

    mounted() {
        this.navChildStatusOne
        this.getUserlist()
    },

    引用顺序同全局一样

    局部注入步骤:
      首先定义一个混入对象,然后混入对象混入到当前的组件中:
      

    import mixins from '@/common/js/mixin'
        export default{
                  mixins: [mixins],
            }

    extends: 相当于复制了一个组件,在组件内部可以定义新的状态和方法,组件内部同名的方法或者state会覆盖mixins里面的

    <script>
        import dtl from './question-dtl.vue'
        export default{
            name: 'extendsss',
            extends: dtl,
            mounted(){
                this.breadcrumbs = [
                    { name: '试题详情-试题详情' }
                ]
                this.GetQuestionBasicsInfo()
                this.GetQuestionInfo()
            },
            methods: {
                GetQuestionBasicsInfo(){
                    
                },
                GetQuestionInfo(){
                    
                }
            }
        }
    </script>
  • 相关阅读:
    Java 字典
    java 集合
    Java Array类、大数据运算、包装类
    java String、StringBuilder 、正则表达式
    Java时间日期类 Date、DateFormat、Calendar类
    java包的声明、导入、System类
    java正则表达式
    java-StringBuffer类和StringBuilder类
    java-String类
    java的API,Object类,equals方法,toString方法
  • 原文地址:https://www.cnblogs.com/cxxb/p/14061940.html
Copyright © 2011-2022 走看看