Vue3学习笔记(9.6)

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

Vue3混入

混入(mixins)定义了一部分可复用的方法或者计算属性。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项。

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-07 10:13:52
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-07 10:21:08
 * @FilePath: \vscode\Vue_mix.html
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="vue_doc/vue.global3.js"></script>
    <!-- <script src="https://unpkg.com/vue@next"></script> -->
</head>
<body>
    <div id="app"></div>
    <script type="text/javascript">
//定义混入对象
    const myMixin={
        created(){
            this.hello()
        },
        methods:{
            hello(){
                document.write('这是一个混入实例')
            }
        }
    }
    //定义一个应用,使用混入
    const app=Vue.createApp({
        mixins:[myMixin]
    })

    app.mount('#app')
    </script>
    
</body>
</html>

选项合并

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

比如,数据对象在内部会进行浅合并(一层属性深度),在和组件的数据发生冲突时以组件数据优先。

以下实例中,Vue实例与混入对象包含了相同的方法。从输出结果可以看出两个选项合并了。

<!--
 * @Author: RealRoad1083425287@qq.com
 * @Date: 2023-04-07 10:13:52
 * @LastEditors: Mei
 * @LastEditTime: 2023-04-07 10:29:56
 * @FilePath: \vscode\Vue_mix.html
 * @Description: 
 * 
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. 
-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="vue_doc/vue.global3.js"></script>
    <!-- <script src="https://unpkg.com/vue@next"></script> -->
</head>
<body>
    <div id="app"></div>
    <script type="text/javascript">
//定义混入对象
    const myMixin={
        data(){
            return{
                message:"Vue",
                foo:"Hello world!",
                test1:"mez"
            }
        }
        // created(){
        //     this.hello()
        // },
        // methods:{
        //     hello(){
        //         document.write('这是一个混入实例')
        //     }
        // }
    }
    //定义一个应用,使用混入
    const app=Vue.createApp({
        mixins:[myMixin],
        data(){
            return{
                message:"New Word",
                bar:"IKun"
            }
        },
        created(){
            document.write(JSON.stringify(this.$data))
        }
    })

    app.mount('#app')
    </script>
    
</body>
</html>

Vue3学习笔记(9.6)

 同名钩子函数将合并为一个数组,因此都将被调用。另外,mixin对象的钩子将在组件自身钩子之前调用。文章来源地址https://www.toymoban.com/news/detail-406896.html

const myMixin={
    created(){
        console.log('mixin对象的钩子被调用')}}

const app=Vue.createApp({
    mixins:[myMinxin],
    created(){
        console.log('组件钩子被调用')}})

//=>"mixin"对象的钩子被调用
//=>"组件钩子被调用"

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

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

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

相关文章

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

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

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

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

    2024年02月02日
    浏览(35)
  • Vue入门六(前端路由的概念与原理|Vue-router简单使用|登录跳转案例|scoped样式|混入(mixin)|插件)

    路由(英文:router)就是对应关系 SPA指的是一个web网站只有一个唯一的一个HTML页面, 所有组件的展示与切换 都在唯一的一个页面内完成。 此时, 不同组件之间的切换 需要通过 前端路由 来实现 总结:在SPA项目中, 不同功能之间的切换 ,要 依赖于前端路由 来完成 通俗移动

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

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

    2024年01月17日
    浏览(67)
  • vue3使用钩子代替mixins

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

    2024年02月14日
    浏览(41)
  • 如何升级Vue的版本 vue2.9.6升级到vue3.0

    背景:电脑使用多年,一直使用vue 2.x版本,项目开发过程中由于一个模块涉及的集成模块过多,导致需要进行定义的变量越来越多,代码出现冗余,因此在同事的推动下,鉴于vue 3.x的优化,故对自己本来使用的vue 2.9.6升级到vue 3.0版本。那么如何升级呢,请查阅如下步骤:

    2023年04月08日
    浏览(44)
  • vue3笔记:自定义组件

    自定义组件,举个🌰: 1、封装自定义组件 CustomList.vue src 底下 type 文件夹中声明的 interface 接口文件 2、在 App.vue 中使用自定义组件 CustomList.vue 1、全局注册 在 main.ts 中使用 app.component(\\\'MyComponent\\\', MyComponent) 全局注册一个组件,可以在app内的任何地方使用。 缺点: 无法在生产打

    2024年02月08日
    浏览(50)
  • 【学习记录24】vue3自定义指令

    1、html部分  2、js部分 3、实现效果 1、html部分 2、js部分 在components下创建loading文件夹,在loading文件夹里创建directive.js  在main.js中全局注册指令 1、在components下创建loading文件夹,在loading文件夹里创建directive.js 2、在loading文件夹里创建loading.vue 3、在loading文件夹里放入一张G

    2024年01月19日
    浏览(43)
  • Vue学习笔记六--Vue3学习

    前提:node -v 查看node版本,需要在16.0及以上 创建命令 npm init vue@latest,先安装create-vue然后创建项目 然后执行npm run dev 提示 sh: vite: command not found,需要执行 npm i 重新安装依赖,之后再执行 npm run build ,再执行 npm run dev 可以正常运行了 更换npm淘宝源 首先打开命令提示符或者终端

    2024年01月20日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包