首页 > 其他分享 >Vue混入

Vue混入

时间:2024-08-22 16:30:29浏览次数:4  
标签:混入 Vue console log 对象 add 组件

将来我们可能要定义非常多的组件,那么不可避免的是有些组件的数据、函数methods方法、监听,计算属性等都可能会重复。 那么如何提高这些(组件配置项)的复用,可以通过组件的复用mixin混入来实现vue组件配置项的复用,一个混入对象可以包含任意的组件选项 当组件中使用混入对象时,会把混入对象的配置混入进入配置项本身

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <!-- 混入选项的合并
            如果组件的配置项和混入对象的配置项出现重名的时候(方法或数据)
            在这种情况下,一般是以组件配置项为主,但也有特殊情况,比如生命周期函数 -->
        <sub-component></sub-component>
    </div>
    <template id="subComponent">
        <div>
            <h2>subComponent</h2>
            <p>组件内部定义的数据{{name}}</p>
            <p><button @click="add"> 调用组件内部的函数</button></p>
            <hr>
            <p>混入对象配置的数据{{address}}</p>
            <p><button @click="edit"> 调用混入对象的的方法</button></p>
            <hr>
            <p>name的值{{name}}</p>
            <p>age的值{{age}}</p>
            <p>address的值{{address}}</p>
            <p><button @click="add">add</button></p>
        </div>
    </template>
    <script src="../js/vue.js"></script>
    <script>

        /*
            混入mixin
            作用:将多个组件中公共的内容提取出来,形成一个对象,然后再组件内部配置混入对象,就可以实现复用
        */
        //定义混入对象:就是普通对象(只有配置到组件中的时候,才是混入对象),可以定义任意的组件选项
        let myMixin = {
            data () {
                return {
                    name:'Jack',
                    age:12,
                    gender:'男',
                    address:'河南省,郑州市'
                }
            },
            methods: {
                add(){
                    console.log('混入对象的add');
                },
                remove(){
                    console.log('myMixin remove...');
                },
                edit(){
                    console.log('myMixin edit');
                }
            },
            mounted(){
                console.log('myMixin的mounted');
            },
            computed: {
                cdata(){
                    return 'hello vue';
                }
            }
        };
        Vue.component('subComponent', {
            template:'#subComponent',
            data () {
                return {
                    name:'tom',
                    gender:'女',
                    address:'浙江省温州市'
                }
            },
            methods: {
                add(){
                    console.log('组件自身定义的方法add');
                }
            },
            mounted(){
                console.log('自身的mounted');
            },
            computed: {
                cdata(){
                    return 'hello 组件自身';
                }
            },
            //混入配置
            mixins: [myMixin],
        });
        let vm = new Vue({
            el : "#app",
            data : {
                
            }
        })
    </script>
</body>
</html>

 

标签:混入,Vue,console,log,对象,add,组件
From: https://www.cnblogs.com/yansunda/p/18374140

相关文章

  • vue2和vue3生命周期钩子函数对比图
    vue2->vue3触发条件beforeCreate->使用setup()创建时运行created->使用setup()创建时运行beforeMount->onBeforeMount挂载DOM运行mounted->onMounted挂载DOM运行beforeUpdate->onBeforeUpdate响应数据修改时运行......
  • 基于ssm+vue.js的校园二手交易平台附带文章和源代码设计说明文档ppt
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我成功案例代码参考数据库参考源码获取前言......
  • java+vue计算机毕设旅游景点预约系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着旅游业的蓬勃发展,人们对旅游体验的需求日益个性化与高效化。传统的旅游预订方式往往存在信息不对称、购票流程繁琐、景点拥堵等问题,影响了游客的......
  • java+vue计算机毕设开放实验室网上预约系统【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着高等教育体系的不断发展和教育资源的日益丰富,实验室作为培养学生实践能力和创新精神的重要场所,其使用效率与管理水平成为衡量高校教学质量的重要......
  • java+vue计算机毕设农资电子监管系统的设计与实现【源码+开题+论文】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着农业现代化的不断推进,农资产品的流通与管理成为保障农业生产高效、安全的重要环节。传统农资管理模式存在信息不对称、监管难度大、效率低下等问......
  • 详细讲述 Vue3 的 <script setup>
    <scriptsetup>是Vue3引入的一种新的 <script> 标记的用法,其本质是一个语法糖。它极大简化了单文件组件(SFC)的开发体验,目的是让代码更简洁、易读,同时减少模板和逻辑之间的重复。1.基本用法<!--使用<scriptsetup>--><template><div><p>message:{{message......
  • 基于 FastAPI+Vue.js 构建的食谱管理平台
    1.2自托管的食谱管理平台:Mealie主语言:Python,Star:6.1k,周增长:400该项目是基于FastAPI+Vue.js构建的食谱管理平台。它提供了简洁友好的界面,用户可以在线编辑和管理食谱,并通过简单的操作从多种来源(URL)导入食谱内容,支持膳食计划、购物清单、多语言、API集成和Docker部署等功能......
  • 044、Vue3+TypeScript基础,pinia库中getters的用法
    01、main.js代码如下://引入createApp用于创建Vue实例import{createApp}from'vue'//引入App.vue根组件importAppfrom'./App.vue'//第一步:引入piniaimport{createPinia}from'pinia'constapp=createApp(App);//第二步:创建pinia实例constpinia=......
  • 基于django+vue农产品在线管理系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着农业现代化的推进和互联网技术的飞速发展,农产品销售与管理模式正经历着深刻的变革。传统农产品市场面临着信息不对称、流通效率低下、......
  • 基于django+vue农产品销售与管理系统【开题报告+程序+论文】计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着农业生产的不断发展和消费者需求的日益多样化,农产品销售与管理面临着新的挑战。传统农产品销售模式往往存在信息不对称、流通环节多、......