广告
返回顶部
首页 > 资讯 > 精选 >vue mixins代码如何复用
  • 834
分享到

vue mixins代码如何复用

2023-06-30 16:06:39 834人浏览 安东尼
摘要

本篇内容主要讲解“Vue mixins代码如何复用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue mixins代码如何复用”吧!场景:1. 代码里有很多当前组件需要的纯

本篇内容主要讲解“Vue mixins代码如何复用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue mixins代码如何复用”吧!

    场景:

    1. 代码里有很多当前组件需要的纯函数,methods过多

    <!-- 主文件 --><template>    <button @click="clickHandle">button</button></template><script>export default {    name: 'PageDemo',    methods: {        func1(){},        func2(){},        func3(){},        clickHandle(){            this.func1();            this.func2()            this.func3()            console.log('button clicked')        }    },}</script>

    如果当前组件不好拆分,就会出现很多函数,代码会显得不清晰。 我现在的处理方法是通过mixins混入,参照MVC思想,当前文件的的methods只写和模板直接引用的处理方法,其他的函数都通过混入方式引用

    // compose-demo.jsexport default {    methods: {        func1(){},        func2(){},        func3(){},    }}
    <template>    <button @click="clickHandle">button</button></template><script>// 主文件import ComposeDemo from './compose-demo'export default {    name: 'PageDemo',    mixins: [ComposeDemo],    methods: {        clickHandle(){            this.func1();            this.func2()            this.func3()            console.log('button clicked')        }    },}</script>

    充分利用mixins还有很多优点。

    2. 举个例子你有一个组件需要抛出两个数据,直接的v-model不适用。需要采用$emit方法

    // 组件<template>   <input v-model="a" @change="inputChangeHandle"/>   <input v-model="b" @change="inputChangeHandle" /></template><script>export default {    name: 'ComponentChild',    props: {        propA: {            type: String        },        propB: {            type: String        }    },    data(){        return {            a: this.propA,            b: this.propB,        }    },    methods: {       inputChangeHandle(){           this.$emit('update-data', {a:this.a, b:this.b})       }     }}</script>// 调用方<template>    <component-child :propA="query.a" :propB="query.b" @update-data="getData"/></template><script>import ComponentChild from './component-child.vue'export default {    name: 'Page1',    components: {ComponentChild},    data(){        return {            query: {                a: '默认数据a',                b: '默认数据b'            }        }    },    methods: {        getData(payload) {            const {a,b}=payload;            this.query.a = a;            this.query.b = b;        }    }}</script>

    如果你有多处地方需要用到ComponentChild组件,那每个调用地方都需要写一个方法来监听@update-data事件。

    此时,可以这样改一下

    // 纯函数,引入ComponentChild,并且声明getData方法// compose-component-child.js<script>import ComponentChild from './component-child.vue'</script>export default {    components: {ComponentChild},        methods: {        // 通常情况,复用的业务组件都会有同样的数据结构,都带有query.a和query.b。如果不一致,那直接在父组件重写该方法        getData(payload) {            const {a,b}=payload;            this.query.a = a;            this.query.b = b;        }    }}// 调用方<template>    <component-child :propA="query.a" :propB="query.b" @update-data="getData"/></template><script>import ComposeComponentChild from './compose-component-child.js'export default {    name: 'Page1',    mixins: [ComposeComponentChild]    data(){        return {            query: {                a: '默认数据a',                b: '默认数据b'            }        }    },    methods: { }}</script>

    借鉴了angular的依赖注入,Page不直接声明、引用Component,而是通过混入Compose直接使用。

    Component组件,Compose引入Component并且注册Component(声明额外的方法),Page调用组件混入Compose,就可以可以直接使用Component组件

    3. 同理,可以通过这个方式复用很多data数据,避免模板化的声明

    比如常用的表格需要一下数据

    <script>    import {defaultPageSize}from '@/setting'    export default {        data(){            return {                tableList: [],                pageSize: defaultPageSize,                pageNo: 1,                totalRecords: 0,            }        }    }</script>

    以上数据都可以组装为一个compose-table.js文件混入到你要使用的地方,当然也可以通过在compose-table引用注册表格组件。

    到此,相信大家对“vue mixins代码如何复用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: vue mixins代码如何复用

    本文链接: https://www.lsjlt.com/news/330078.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • vue mixins代码如何复用
      本篇内容主要讲解“vue mixins代码如何复用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue mixins代码如何复用”吧!场景:1. 代码里有很多当前组件需要的纯...
      99+
      2023-06-30
    • vue mixins代码复用的项目实践
      目录导语:场景:1. 代码里有很多当前组件需要的纯函数,methods过多2. 举个例子你有一个组件需要抛出两个数据,直接的v-model不适用。需要采用$emit方法3. 同理,可...
      99+
      2022-11-13
    • Vue中如何使用vue mixins
      这篇文章主要介绍了Vue中如何使用vue mixins,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用场景:例如我们在Vue单页面开发的时...
      99+
      2022-10-19
    • Vue mixins混入如何使用
      这篇文章主要介绍了Vue mixins混入如何使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue mixins混入如何使用文章都会有所收获,下面我们一起来看看吧。一、什么是Mixins...
      99+
      2023-07-05
    • vue如何引入mixins
      在vue中引入mixins的方法:1.定义mixins对象;2.新建vue项目;3.使用import方法导入mixins对象;具体步骤如下:首先,新建一个mixins文件,并在文件中定义一个mixins对象;export const myM...
      99+
      2022-10-09
    • 如何进行C++代码的代码复用?
      如何进行C++代码的代码复用代码复用是在软件开发中提高效率和降低开发成本的重要手段之一。对于C++开发者来说,掌握代码复用的技巧不仅可以提高编码效率,还能增加代码的可读性和可维护性。本文将介绍一些常见的C++代码复用技术,帮助读者在实践中更...
      99+
      2023-11-02
      代码重用 C++代码复用 C++模块化
    • Vue混入mixins分发组件可复用功能
      目录前言一、后端返回数据与字典数据之前的转换二、文件下载的混入三、Element表格最后一行合计数据的混入前言 那就是说,你可以单独写个逻辑文件,默认导出一个对象,对象里面可以包含d...
      99+
      2022-11-13
    • js如何实现代码复用
      小编给大家分享一下js如何实现代码复用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码复用1 Object [key]虽然将&...
      99+
      2022-10-19
    • vue如何封装swiper代码
      这篇文章将为大家详细讲解有关vue如何封装swiper代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。data(){     r...
      99+
      2022-10-19
    • Vue如何混入mixins滚动触底
      这篇文章主要介绍了Vue如何混入mixins滚动触底,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言在app端常常看到类似加载数据的动画,...
      99+
      2022-10-19
    • vue如何加载远端代码
      这篇文章将为大家详细讲解有关vue如何加载远端代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在我们的 vue 项目中(特别是后台系统),总会出现一些需要多业务线共同开...
      99+
      2022-10-19
    • 如何用Vue代码实现按需加载
      本篇内容主要讲解“如何用Vue代码实现按需加载”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用Vue代码实现按需加载”吧!概念(懒加载)当打包构建应用时,JavaScript包会变得非常大,...
      99+
      2023-07-04
    • 如何复制gitee上的代码
      在这个数字时代,代码已经成为了人们日常生活和工作的重要一部分。一种常见的情况是,我们在gitee上发现了一个非常好的代码示例,而又不知如何在本地环境中复制这段代码。针对这个问题,本篇文章将介绍如何复制gitee上的代码。第一步:找到需要复制...
      99+
      2023-10-22
    • vue如何关闭eslint代码检查
      这篇文章给大家分享的是有关vue如何关闭eslint代码检查的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。关闭 eslint 代码检查很多人说关闭eslint检查的方式是注释掉 ...
      99+
      2022-10-19
    • vue 如何配置eslint代码检查
      目录1.安装依赖2.webstorm代码格式化快捷键为win + alt + L3.设置webstorm校验规则为本地项目安装的eslint4.在项目本地新建.editorconfi...
      99+
      2022-11-13
    • 如何使用vue代码实现虚拟滚动
      这篇“如何使用vue代码实现虚拟滚动”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用vue代码实现虚拟滚动”文章吧。滚...
      99+
      2023-07-04
    • 如何将vue代码转换为网页
      随着互联网技术的不断发展,越来越多的企业开始借助网站来推广自己的产品和服务。而在网站开发中,用于搭建网页的技术不断更新,Vue.js作为一种流行的JavaScript框架,也在逐渐被广泛应用。那么,如何将Vue.js转换为网页呢?下面我们就...
      99+
      2023-05-14
    • vscode中如何配置并使用.vue代码模板
      本篇内容介绍了“vscode中如何配置并使用.vue代码模板”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vscode里使用.vue代码模板...
      99+
      2023-06-25
    • win11错误代码0x8007025D如何修复
      错误代码0x8007025D是Windows 11安装过程中的一个常见错误代码,表示数据无法读取或写入到磁盘。以下是修复此...
      99+
      2023-09-15
      win11
    • windows 0x000000f4蓝屏代码如何修复
      这篇文章主要介绍“windows 0x000000f4蓝屏代码如何修复”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“windows 0x000000f4蓝屏代码如何修复”文章能帮...
      99+
      2023-07-01
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作