mixins是在引入组件之后 将组件内部的内容如data等方法、method等属性与父组件相应内容进行合并 相当于在引入后 父组件的各种属性方法都被扩充了。

单纯组件引用:
          父组件 + 子组件 >>> 父组件 + 子组件
mixins:
          父组件 + 子组件 >>> new父组件
 
意在重用其功能 我们会通过接口继承的方式来实现功能的复用 但是在javascript中 我们没办法通过接口继承的方式 但是我们可以通过javascript特有的原型链属性 将功能引用复制到原型链上 达到功能的注入。
 
值得注意的是:
在使用mixins时 父组件和子组件同时拥有着子组件内的各种属性方法 但这并不意味着他们同时共享、同时处理这些变量,两者之间除了合并,是不会进行任何通信的。
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" }
}
})
请参考官方文档
 
 

总结一下:

  1. 技术细节学习难度不大 在需要深入的时候再深入了解最佳。
  2. 想要做成事 需要更宏观的技术思维 渐渐变得眼光宽阔 格局很大。
  3. 指引方向比走路更重要。
  4. 技术最终为业务服务 懂技术细节和让业务先赢没有必然的关系。

VUE mixins(混入)的更多相关文章

  1. _ 下划线 vue mixins 混入 变量前有下划线 变量不起作用

    _ 下划线 vue mixins 混入 变量前有下划线 变量不起作用

  2. Vue mixins(混入)

    建立一个公共组件,然后对该组件进行混入继承. 注意会走两个生命周期,谨慎使用 mixins混入,相当于生成new 组件:组件引用,相当与在父组件内开辟了一块单独的空间 mixins适用于,两个有非常相 ...

  3. Vue之混入(mixin)与全局混入

    Vue之混入(mixin)与全局混入 接下来通过一个简单的例子看看混入的基础用法: 首先新建一个mixin.js文件,添加以下代码. let mixin = { data() { return { m ...

  4. Vue全局混入

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

  5. mixins混入

    mixins混入:定义类,多重继承 使用方法见附件: mixins混入.zip    

  6. Vue.js Mixins 混入使用

    Mixins一般有两种用途: 1.在你已经写好了构造器后,需要增加方法或者临时的活动时使用的方法,这时用混入会减少源代码的污染. 2.很多地方都会用到的公用方法,用混入的方法可以减少代码量,实现代码重 ...

  7. 使用vue的mixins混入实现对正在编辑的页面离开时提示

    mixins.ts import { Vue, Component, Watch } from "vue-property-decorator" Component.registe ...

  8. Mixins 混入选项操作

    Mixins一般有两种用途: 1.在你已经写好了构造器后,需要增加方法或者临时的活动时使用的方法,这时用混入会减少源代码的污染. 2.很多地方都会用到的公用方法,用混入的方法可以减少代码量,实现代码重 ...

  9. vue.js 混入

    混入:mixins 一种分发Vue组件中可反复使用的功能的方法. 混入对象可以:包含任意组件选项. 混入对象的选项将被混入该组件本身的选项. 如果有同名选项,在和组件的数据发生冲突时,组件数据优先.混 ...

随机推荐

  1. python 丰田经销商

    import requests import json from dbutil.pgsql import PgsqlPipeline from datetime import date headers ...

  2. Centos6.5 使用YUM安装MariaDB

    1,第一步 [xxxxxx]$ cd /etc/yum.repos.d [xxxxxx]$ vi MariaDB.repo # MariaDB 10.0 CentOS repository list ...

  3. 2.maven 安装配置

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/24518577  System Requ ...

  4. 修改xampp中的MySQL密码

    1.开启MySQL服务后,点击XAMPP Control Panel上的Admin按钮 2.依次点击"账户"--最后一个"修改权限"--修改密码 3.输入两次相 ...

  5. LuaLuaMemorySnapshotDump-master

    https://codeload.github.com/yaukeywang/LuaMemorySnapshotDump/zip/master

  6. 《Spring Boot实战》笔记 (六章)

    6.1 基本配置 ........................................................................................... ...

  7. Java的GC机制及算法

    GC的阶段  对每个对象而言,垃圾回收分为两个阶段:finalization和reclamation.  finalization: 指运行这个对象的finalize的方法. reclamation: ...

  8. java 接口概念及使用

    package java11; /* 在任何版本的java中,接口都能定义抽象方法 格式: public abstrace 返回值类型 方法名称(参数列表): 注意事项: 1.接口当中的抽象方法,修饰 ...

  9. Oracle 设置自启动

    1. 环境准备 1.1 系统 操作系统:CentOS 7(64位) 1.2 工具/软件 已安装完成的Oracle11g(64位):  创建数据库实例,本文中数据库实例名:test:$ORACLE_SI ...

  10. Python3.5-20190526-廖老师-自我笔记-单元测试-参数换-paramunittest

    参数化: import timeimport list1 #想测试list1中的求和函数是否正确fun1import paramunittestimport unittest #先设置参数组@para ...