Vue.js中如何通过深入理解混入(mixins)来实现代码复用和组件间共享功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计792个文字,预计阅读时间需要4分钟。
通过`mixins`定义了一部分可复用的方法或计算属性。`mixins`可以包含任意组件选项。当组件使用`mixins`时,所有混入的选项将合并到该组件本身。以下是一个简单的示例。
混入 (mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
来看一个简单的实例:
var vm = new Vue({ el: '#databinding', data: { }, methods : { }, }); // 定义一个混入对象 var myMixin = { created: function () { this.startmixin() }, methods: { startmixin: function () { document.write("欢迎来到混入实例"); } } }; var Component = Vue.extend({ mixins: [myMixin] }) var component = new Component();
选项合并
当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。
比如,数据对象在内部会进行浅合并 (一层属性深度),在和组件的数据发生冲突时以组件数据优先。
以下实例中,Vue 实例与混入对象包含了相同的方法。从输出结果可以看出两个选项合并了。
本文共计792个文字,预计阅读时间需要4分钟。
通过`mixins`定义了一部分可复用的方法或计算属性。`mixins`可以包含任意组件选项。当组件使用`mixins`时,所有混入的选项将合并到该组件本身。以下是一个简单的示例。
混入 (mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。
来看一个简单的实例:
var vm = new Vue({ el: '#databinding', data: { }, methods : { }, }); // 定义一个混入对象 var myMixin = { created: function () { this.startmixin() }, methods: { startmixin: function () { document.write("欢迎来到混入实例"); } } }; var Component = Vue.extend({ mixins: [myMixin] }) var component = new Component();
选项合并
当组件和混入对象含有同名选项时,这些选项将以恰当的方式混合。
比如,数据对象在内部会进行浅合并 (一层属性深度),在和组件的数据发生冲突时以组件数据优先。
以下实例中,Vue 实例与混入对象包含了相同的方法。从输出结果可以看出两个选项合并了。

