资讯专栏INFORMATION COLUMN

006-读书笔记-Vue官网 混合

kk_miles / 1529人阅读

摘要:混合中的钩子函数同名钩子函数都会执行如果组件中存在钩子函数,混合中也存在相同的钩子函数,那么两个钩子函数都会执行。最终的执行结果多个混合的钩子函数多个混合的钩子函数,会根据混合使用的顺序来执行。

1.认识混合

混合(mixins)是一种分发Vue组件中可复用功能的非常灵活的方式

混合的作用:抽取多个组件的共同部分,增强组件的可复用性

混合的实质:混合对象类似一个Vue实例,可以包含Vue实例中的任意选项;使用混合对象时,相当于把混合对象的所有选项都注入到了组件中

2.混合的简单使用 2-1 没有使用混合的情况

当组件A中有一个方法methodCommon,组件B中同样有一个方法methodCommon,如果每个组件中都写这个方法,会出现很多重复性代码:









2-2 使用混合优化代码

上面代码中的重复部分,可以抽取一个公共的mixin:

// mixin.js

export default {
  methods: {
    methodCommon() {
      return "this is a method ..."
    }
  }
}

然后在每一个组件中引入该mixin.js即可:









通过混合,提高了代码的复用性。

3.混合中的钩子函数 3-1 同名钩子函数都会执行

如果组件A中存在钩子函数,混合中也存在相同的钩子函数,那么两个钩子函数都会执行。
执行顺序是混合中的钩子函数先执行,组件中的钩子函数后执行。

// mixin.js

export default {
  created() {
    console.log("mixin created ...")
  }
}




最终的执行结果:

mixin created ...
componentA created ...
3-2 多个混合的钩子函数

多个混合的钩子函数,会根据混合使用的顺序来执行。

mixins: [ "mixin1", "mixin2" ]

执行的时候,会先执行mixin1中的钩子函数,再执行mixin2中的钩子函数,最后执行当前组件中的钩子函数。

4.混合中的对象选项

混合中的对象选项,如directives filters components data computed methods等会被混合成一个对象的属性,如果键值对相同,会优先根据组件中的内容进行输出。

// mixin.js

export default {
  data() {
    return {
      msg: "mixin msg ..."
    }
  }
}




最终会输出组件A中的msg:componentA msg ...

5.参考内容

混合

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92004.html

相关文章

  • 007-读书笔记-Vue官网 插件

    摘要:插件的定义与使用插件的定义需要注意的点定义一个对外公开的方法方法有两个参数第一个参数的构造器,第二个参数是一个可选的对象必须,插件对外公开的方法构造器可选参数,是一个对象添加全局方法或属性添加全局方法或属性添加全局资源指令过滤器过渡等添 1.插件的定义与使用 1-1 插件的定义 需要注意的点: 定义一个对外公开的install方法 install方法有两个参数:第一个参数Vue的构造...

    468122151 评论0 收藏0
  • 002-读书笔记-Vue官网 认识数据与指令

    摘要:首先把改成的形式这是一段测试文字绑定最后的显示效果如下,如果要看具体的形式,可以在谷歌人员开发工具中自行查看指令的组成部分经过上面的介绍,应该对指令有一个大概的认识,下面就来对指令的每一项进行说明。 这篇笔记主要用来说明 Vue 中数据的定义和指令的一些特性,后续会做更深入的说明。 1.Vue中的data函数 1-1 使用data函数 由于使用的是单文件组件,因此 Vue 组件中的数据...

    hqman 评论0 收藏0
  • 005-读书笔记-Vue官网 自定义指令

    摘要:自定义指令的使用在组件中定义一个自定义指令,作用将当前节点中字体颜色设置为红色。参考内容自定义指令 1.自定义指令的使用 在组件中定义一个自定义指令,作用:将当前DOM节点中字体颜色设置为红色。 在自定义指令中简化了钩子函数,下面的钩子函数相当于 bind 和 unbind 的缩写: export default { name: app, directives: ...

    teren 评论0 收藏0
  • 004-读书笔记-Vue官网 Class与Style的绑定

    摘要:绑定绑定,使用,简写的形式是。绑定比较灵活,可以使用表达式字符串对象或数组。绑定字符串绑定字符串的时候只能绑定一个,不能绑定多个。 1.绑定Class 绑定Class,使用 v-bind:class,简写的形式是 :class。绑定Class比较灵活,可以使用表达式、字符串、对象或数组。 1-1 搭建结构 首先,新建一些 class 样式: .colorRed { colo...

    hufeng 评论0 收藏0
  • 008-读书笔记-Vue官网 过滤器

    摘要:如果要修改上面代码中的过滤器,根据传入的参数来分割字母,可以使用下面的方式修改。参数传递情况作为的参数的结果作为的参数的结果作为的参数参考内容过滤器 1.认识过滤器 过滤器的作用:用于文本格式化,仅仅作为格式化操作,不做复杂的业务处理 过滤器的使用方式:通过管道符号(|)来使用 过滤器的使用位置:mustache插值和v-bind表达式 2.过滤器的简单使用 2-1 使用过滤器 ...

    JaysonWang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<