iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue的混合继承详解
  • 180
分享到

Vue的混合继承详解

2024-04-02 19:04:59 180人浏览 泡泡鱼
摘要

目录混合继承实现的效果:一、继承Vue.extend方法​extends 属性二、混合(mixins)合并规则总结混合继承实现的效果: A有一个data属性,和一个say

混合继承实现的效果:

A有一个data属性,和一个say方法

B有一个see方法和一个name属性

A继承B后,A除了有自己的一个data属性,和一个say方法,还有B的一个see方法和一个name属性

在C里混合AB后,C有自己的东西和A的一个data属性,和一个say方法,还有B的一个see方法和一个name属性

一、继承

Vue.extend方法

Vue.extend( Vue ComponentOptions ) 是全局方法,使用基础 Vue 构造器,创建一个“子类”。参数是一个包含组件选项的对象(Vue ComponentOptions)。​

data 属性是特例,需要注意 - 在 Vue.extend() 中它必须是函数(工厂函数)


// 创建构造器ja
var Profile = Vue.extend({
  template: '<p>{{firstName}} {{lastName}} aka {{alias}}</p>',
  data: function () {
    return {
      firstName: 'Walter',
      lastName: 'White',
      alias: 'Heisenberg'
    }
  }
})
// 创建 Profile类的实例,并挂载到一个元素上。
new Profile().$mount('#mount-point')

​extends 属性

extends** **允许声明扩展另一个组件 (可以是一个简单的选项对象或构造函数),而无需使用 Vue.extend。这主要是为了便于扩展单文件组件。其类型是Object或者Function​

pageTwo.vue文件


<template>
    <div>
        <h3>Page Two</h3>
        <paging :total="total" :pageSize="pageSize" :sizeOptions="sizeOptions"/>
    </div>
</template>
<script>
    import PagingData from '../component/PagingData.vue'
    export default {
        // 实现继承
        extends: PagingData
    }
</script>

注:以上文件的paging是一个全局注册的自定义组件,PagingData也是组件,但没有注册而是通过继承将其内容给合并到了pageTwo里。

二、混合(mixins)

一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。

合并规则

当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”。

1、数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先。

2、同名钩子函数(生命周期函数)将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。

3、值为对象的选项,例如 methods、components 和 directives,将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对。

继承(extends )也是这个合并的规则​

可以使用混合来实现多继承,混合不是用来实现继承的,把多个Vue ComponentOptions(Vue 可选择组件对象)合并起来​

形式:mixins: [合并组件1, 合并组件二,…]​

pageOne.vue文件


<template>
    <div>
        <h3>Page One</h3>
        <hr/>
        <paging @pageChangeEvt="cb" :total="total" :pageSize="pageSize" :sizeOptions="sizeOptions"/>
    </div>
</template>
<script>
    import PagingData from '../component/PagingData.vue'
    import PagingFunc from '../component/PagingFunc'
    export default {
        // extends: {PagingFunc, PagingData},
        // extends: [PagingFunc, PagingData],
        mixins: [PagingFunc, PagingData],
    }
</script>

注:以上文件的paging是一个全局注册的自定义组件,PagingData和PagingFunc也是组件,但没有注册而是通过混合将其内容给合并到了pageOne里。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: Vue的混合继承详解

本文链接: https://www.lsjlt.com/news/156222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Vue的混合继承详解
    目录混合继承实现的效果:一、继承Vue.extend方法​extends 属性二、混合(mixins)合并规则总结混合继承实现的效果: A有一个data属性,和一个say...
    99+
    2024-04-02
  • Vue中混合继承怎么实现
    这篇文章主要介绍了Vue中混合继承怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。混合继承实现的效果:A有一个data属性,和一个say方法B有一个see方法和一个na...
    99+
    2023-06-25
  • 详细聊聊Vue的混入和继承
    目录前言混入混入注意(重名情况)局部混入全局混入继承混入和继承的区别总结前言 Vue中的混入(mixin)是一个比较简单的知识点。熟悉CSS预处理语言比如less、sass的开发者对...
    99+
    2024-04-02
  • JavaScript组合继承详解
    目录1、前言2、原型链继承3、构造函数继承4、组合继承1、前言 首先学习继承之前,要对原型链有一定程度的了解。 不了解可以去先阅读我另一篇文章,里面对原型链有一个较为详细的说明:Ja...
    99+
    2024-04-02
  • Java集合继承体系详解
    Java的集合类是一种特别有用的工具,它可以用于存储数量不等的多个对象,并可以实现常用的数据结构,如栈、队列等。Java集合还可以用于板寸具有映射关系的关联数组。java集合就像是一个容器,我们可以把多个对象(实际上是对象的引用,习惯上叫对...
    99+
    2023-05-30
    java 集合继承 ava
  • web项目开发VUE的混入与继承原理
    目录混入混入注意(重名情况)局部混入全局混入定义及全局注册调用继承混入和继承的区别混入 将多个vue文件内重复使用的功能代码,提取成单个js文件,在需要使用的地方进行调用即...
    99+
    2024-04-02
  • 详解Java的继承
    目录继承:继承的好处:继承的坏处:继承的特点:继承和成员变量之间的关系:this关键字和super关键字的区别方法的重写:总结继承: 把多个类相同的内容提取到另外一个类中,然后使用关...
    99+
    2024-04-02
  • python的继承详解
    目录1、单继承:子类只继承一个父类2、多继承:子类继承多个父类3、子类重写父类的同名属性和方法4、子类调用父类同名属性和方法5、 6、调用父类方法super()总结1、单继...
    99+
    2024-04-02
  • C++ 继承,虚继承(内存结构)详解
    目录普通的公有继承多重继承虚继承虚继承(菱形继承)总结普通的公有继承 class test1 { public: test1(int i) :num1(i) {} pri...
    99+
    2024-04-02
  • 详解C++中单继承与多继承的使用
    目录前言1.继承的概念和定义(1)继承的概念(2)继承的定义方法(2)继承后子类的成员类型2.基类与派生类的赋值转换(1)派生类赋值给基类(2)基类给派生类3.继承中的作用域(1)隐...
    99+
    2024-04-02
  • C++详细讲解继承与虚继承实现
    目录继承的概念及定义概念:定义:继承关系和访问限定符总结基类和派生类对象赋值转换继承中的作用域派生类的默认成员函数继承与友元继承与静态成员复杂的菱形继承及菱形虚拟继承虚继承原理继承的...
    99+
    2024-04-02
  • JavaScript 继承的进阶之道:探索混入和组合技术
    ...
    99+
    2024-04-02
  • C++中继承与组合的区别详细解析
    C++的“继承”特性可以提高程序的可复用性。正因为“继承”太有用、太容易用,才要防止乱用“继承”。我们要给“继承”立一些使用规则: 一、如果类A 和类B 毫不相关,不可以为了使B 的...
    99+
    2022-11-15
    继承 组合
  • C#中的类继承详解
    目录前言类的继承注意事项寄语总结前言 在日常的程序编码工作中,我们的最终目标是完成公司交给自己的开发任务,核心目标是写出好代码。 那么什么是好代码? 高内聚,低耦合 想必从事编码工作...
    99+
    2024-04-02
  • C++中的类扩展之继承和组合详解
    目录相关术语一、继承二、组合相关术语 继承:继承父类后可以拥有父类对应的属性和方法。 组合:将类作为成员对象,基类可以直接调用派生类对应的属性和方法。 一、继承 继承是指在一个已有的...
    99+
    2023-05-17
    C++类扩展 C++继承 C++组合
  • Maven继承与聚合详解及作用介绍
    目录一、继承引言1. 继承关系的实现2. 依赖配置二、聚合引言实现聚合三、继承与聚合的合并一、继承 引言 继承关系可以对不同模块的依赖版本做统一管理,因为子模块中的依赖基本都继承于父...
    99+
    2024-04-02
  • C++继承模式详解
    目录继承继承的概念继承的定义继承关系和访限定符继承方式父类和子类对象赋值转化继承中的作用域子类的默认成员函数继承与友元继承与静态成员复杂的菱形继承虚继承继承的总结继承 继承的概念 ...
    99+
    2024-04-02
  • JavaScript进阶教程之非extends的组合继承详解
    目录前言一:call() 的作用与使用 1.1 使用 call() 来调用函数 1.2 使用 call() 来改变 this 的指向 &nbs...
    99+
    2022-11-13
    js extends继承 javascript组合继承 js继承机制
  • Vue混入使用和选项合并详解
    目录1、在组件中使用2、选项合并总结1、在组件中使用 混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用...
    99+
    2024-04-02
  • C++ 函数继承详解:什么是继承访问权限?
    在 c++++ 中,派生类对基类函数的访问权限取决于继承级别:public:派生类可以无限制地访问和重写基类 public 函数。protected:派生类只能访问和重写基类的 prot...
    99+
    2024-05-03
    c++ 函数继承
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作