Vue 2 混入

这篇具有很好参考价值的文章主要介绍了Vue 2 混入。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

混入(Mixins)是一种在Vue组件中重用代码的方式。它允许你定义一些可复用的选项对象,然后将这些选项合并到不同的组件中。混入可以用于在多个组件之间共享逻辑、方法、生命周期钩子等。

示例:

<!DOCTYPE html>
<html>

<head>
    <title>Vue mixin demo</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>

<body>
    <div id="app">
        <my-component></my-component>
    </div>
    <script>
        // 定义一个混入对象
        const myMixin = {
            data() {
                return {
                    message: 'Hello from mixin!'
                }
            },
            methods: {
                greet() {
                    console.log(this.message)
                }
            }
        }

        Vue.component('my-component', {
            mixins: [myMixin],
            template: '<div>{{message}}</div>',
            created() {
                this.greet()
            }
        })
        var vm = new Vue({
            el: '#app',
        });
    </script>
</body>

</html>

选项合并

当组件和混入对象的选项同名时,数据对象data中同名选项以组件的优先,进行递归合并;同名钩子函数则会被合并为数组,它们都会执行,且混入对象的钩子函数先执行。

对于methods、components、directives这些值为对象的选项,同名键的合并例子如下:

<!DOCTYPE html>
<html>

<head>
    <title>Vue mixin demo</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>

<body>
    <div id="app">
    </div>
    <script>
        const mixin = {
            methods: {
                greet() {
                    console.log('Hello from Mixin!');
                },
                sayHello() {
                    console.log('Mixin says hello!');
                },
            }
        };

        var Component = Vue.extend({
            methods: {
                greet() {
                    console.log('Hello from extend!');
                },
                sayHello() {
                    console.log('extend says hello!');
                },
                sayGoodbye() {
                    console.log('extend says goodbye!');
                }
            }
        });

        new Component({
            mixins: [mixin],
            methods: {
                greet() {
                    console.log('Hello from component!');
                },
            },
            created() {
                this.greet();        // Output: Hello from component!
                this.sayHello();     // Output: Mixin says hello!
                this.sayGoodbye();   // Output: extend says goodbye!
            }
        });

    </script>
</body>

</html>

由上面得出选项合并优先级:new Component > mixins > Vue.extend。


全局混入

全局混入会影响每一个Vue实例

使用Vue.mixin({})方法创建全局混入。

尽量避免使用全局混入,这样会导致逻辑分散、代码难以阅读、维护困难


自定义选项合并策略

下面是一个示例:

const customMergeStrategies=Vue.config.optionMergeStrategies
customMergeStrategies.customOption=function(parentVal,childVal){
    if(!childVal) return parentVal
    if(!parentVal) return childVal
    //合并逻辑,可根据需要修改
    return parentVal.concat(childVal)
}

关键是了解Vue.config.optionMergeStrategies的作用,它用于帮助我们自定义某个选项的合并策略函数,该函数第一个参数是父组件的该选项值,第二个参数是子组件的该选项值。文章来源地址https://www.toymoban.com/news/detail-658403.html

到了这里,关于Vue 2 混入的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue.js 中的 mixin 和混入有什么区别?

    在 Vue.js 中,mixin 和混入是两个常用的概念,它们可以帮助我们实现代码的复用和组件间的通信。虽然它们的名字很相似,但它们的作用和用法有所不同。本文将介绍 mixin 和混入的区别,并通过代码示例来说明它们的用法。 mixin 是一种在 Vue.js 中实现代码复用的方式。它类似

    2024年02月09日
    浏览(39)
  • Vue(标签属性:ref、配置项:props、混入mixin、插件、样式属性:scroped)

    前面提及到了标签属性:keys 这里将了解ref:打标识 正常布置脚手架并创建入口文件main.js引入组件 给一个按钮获取上方的dom的方法,方法中使用什么进行获取dom元素 是使用获取id方法给标签设置id,直接操作dom?  错误❌ 既然原生js可以给dom添加id,那么Vue也有类似的标识方

    2024年02月02日
    浏览(34)
  • uniapp开发中基于vue的混入(mixin) 实现微信小程序全局【发送给朋友】、【分享到朋友圈】、【复制链接】

    一、在开发微信小程序的时候,发现【发送给朋友】、【分享到朋友圈】、【复制链接】功能,灰色不可用。 很常见的功能,但是这几个功能,并不是你项目建起来了就有的。 1.【发送给朋友】使用 onShareAppMessage 这个方法 如果你的小程序,发现他的【转发给朋友】的按钮时

    2024年01月17日
    浏览(63)
  • Vue 2 混入

    混入(Mixins)是一种在Vue组件中重用代码的方式。它允许你定义一些可复用的选项对象,然后将这些选项合并到不同的组件中。混入可以用于在多个组件之间共享逻辑、方法、生命周期钩子等。 示例: 选项合并 当组件和混入对象的选项同名时,数据对象data中同名选项以组件

    2024年02月12日
    浏览(31)
  • Vue中mixins的使用

    Vue中mixins的使用方法和注意点 - 掘金  

    2024年02月13日
    浏览(31)
  • vue3使用钩子代替mixins

    自用笔记 在vue2中,mixins可以用来混入一些复用的函数,变量等等,在vue3版本中,特别是组合式的写法之中可以用钩子的方式来代替这一功能。 写一个复用的控制盒子展示或者隐藏的钩子useOpen 钩子中创建了一个ref变量,并创建了一个改变该变量的方法,然后return了出来 下面

    2024年02月14日
    浏览(37)
  • Vue Mixin 代码重用与逻辑共享

    在当今Web开发领域中,构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架,正是为了满足这些需求而诞生。它采用了MVVM架构模式,并通过数据驱动和组件化的方式,使我们能够更轻松地构建出优雅而高效的Web应用程序。

    2024年01月17日
    浏览(48)
  • vue-Mixin-复用代码片段

    在软件开发中,代码复用是一个重要的原则,它可以帮助我们避免重复的代码,提高代码的可维护性和可读性。在Vue.js中,我们可以使用mixins来复用代码片段。Mixin可以包含任何组件选项。当组件使用Mixin时,所有Mixin对象的选项将被混入到该组件的选项中。 Mixin对象可以包含

    2024年01月22日
    浏览(36)
  • 【Vue】Vue中mixins的使用方法及实际项目应用详解

    (1)mixin基础 官网解释(Vue2.x): 混入(mixin)提供了一种非常灵活的方式,来分发Vue组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。 如何理解mixins?我们可以将mixins理解成一

    2023年04月09日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包