Vue混入使用和选项合并详解

 更新时间:2021年10月14日 15:21:47   作者:陌上花开然不归矣  
这篇文章主要介绍了Vue混入使用和选项合并,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

1、在组件中使用

混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。

<template>
  <div class="event_style">
    <h2>基础</h2>
    <div class="inner_children">
      <span>{{ message }}</span>
    </div>
  </div>
</template>
<script>
var myMixin = {
  data() {
    return {
      message: "",
    };
  },
  created: function () {
    console.log("created:add mixin");
    this.message = "created:add mixin";
    this.hello();
  },
  methods: {
    hello: function () {
      console.log("hello from mixin!");
    },
  },
};
// 定义一个使用混入对象的组件
export default {
  name: "mixin-basic",
  mixins: [myMixin],
};
</script>

2、选项合并

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

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

<template>
  <div class="event_style">
    <h2>选项合并</h2>
    <div class="inner_children">
      <span>{{ message }}</span>
      <span>{{ message1 }}</span>
    </div>
  </div>
</template>
<script>
var myMixin = {
  data() {
    return {
      message: "mixin:mixin",
      message1: "mixin:mixin-1",
    };
  },
  created: function () {
    this.hello();
  },
  methods: {
    hello: function () {
      console.log("mixin:hello from mixin!");
    },
  },
};
// 定义一个使用混入对象的组件
export default {
  name: "mixin-merge",
  mixins: [myMixin],
  data() {
    return {
      message: "组件:hello",
    };
  },
  created: function () {
    this.hello();
  },
  methods: {
    hello: function () {
      console.log("组件:hello world!");
    },
  },
};
</script>
<style scoped>
.event_style {
  padding-left: 50px;
  padding-right: 50px;
}
.inner_children {
  display: flex;
  flex-direction: column;
  height: 150px;
  border: 1px solid #333;
  padding: 6px;
}
.inner_children span {
  font-size: 20px;
}
</style>

页面呈现的效果

由上图可以看出,混入的数据和方法和组件定义的有冲突时,以组件的优先,当组价中未定义时,才会进行合并,显示混入定义的效果

总结

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

相关文章

  • npm无法加载文件:因为在此系统上禁止运行脚本的解决办法

    npm无法加载文件:因为在此系统上禁止运行脚本的解决办法

    这篇文章主要介绍了npm无法加载文件:因为在此系统上禁止运行脚本问题的解决办法,文中通过代码以及图文介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • vue2.0使用swiper组件实现轮播效果

    vue2.0使用swiper组件实现轮播效果

    这篇文章主要为大家详细介绍了vue2.0使用swiper组件实现轮播效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • vue prop属性传值与传引用示例

    vue prop属性传值与传引用示例

    今天小编就为大家分享一篇vue prop属性传值与传引用示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • vue遍历中存在el-form之踩坑记录

    vue遍历中存在el-form之踩坑记录

    这篇文章主要介绍了vue遍历中存在el-form之踩坑记录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vant 在vue-cli 4.x中按需加载操作

    Vant 在vue-cli 4.x中按需加载操作

    这篇文章主要介绍了Vant 在vue-cli 4.x中按需加载操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 基于VUE实现简单的学生信息管理系统

    基于VUE实现简单的学生信息管理系统

    这篇文章主要介绍了VUE实现一个简单的学生信息管理系统,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • vue服务端渲染添加缓存的方法

    vue服务端渲染添加缓存的方法

    vue服务区缓存分为页面缓存、组建缓存和接口缓存,本文通过实例代码逐一给大家介绍,本文重点给大家介绍vue服务端渲染添加缓存的方法,感兴趣的朋友跟随小编一起看看吧
    2018-09-09
  • 前端vue中的拖拽知识详解

    前端vue中的拖拽知识详解

    这篇文章主要介绍了前端拖拽功能的基本知识,并详细讲解了如何在Vue3工程中实现拖拽指令,拖拽功能涉及HTML、CSS和JavaScript的综合运用,需要的朋友可以参考下
    2025-01-01
  • vue实现简单数据双向绑定

    vue实现简单数据双向绑定

    这篇文章主要为大家详细介绍了vue实现简单数据双向绑定,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Vue的props父传子的示例代码

    Vue的props父传子的示例代码

    这篇文章主要介绍了Vue的props父传子的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05

最新评论