iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Vue业务实例分析
  • 835
分享到

Vue业务实例分析

2024-04-02 19:04:59 835人浏览 薄情痞子
摘要

这篇“Vue业务实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue业务实例分析”

这篇“Vue业务实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue业务实例分析”文章吧。

写业务,对于一个前端而言,应该是再正常不过的事了,业务对标着需求,前端 er 们根据产品的需求以及设计师的设计稿开发出相应的 WEB 应用,无论是一个简单的页面或是一套复杂的系统,或多或少掺杂着业务逻辑。然而,我们有时候写的业务逻辑到底是为了去写业务逻辑而写的吗,作为一个常年与业务抗战的骚 nian,我认为我们写的业务不光光是为了在排期内完成简单的任务,而是要打磨自己写业务的能力,并学会根据实际场景去设计一套灵活的,可维护,易理解的业务代码。

那以上所说的 “实际场景” 到底指的是什么场景呢,答案并不唯一,往往自己实践中碰到的难题都可以是一种场景,我们要学会理解这些场景。当然,场景不光归结于产品的 prd,而且往往还跟后端的提供的数据结构着密切的关联,夸张点的比喻就是,好比产品需要一道集色香味俱全的菜,前端就像是一个厨师,但手头的厨具,以及品种不够多的食材,但就是要烹饪一道好菜,其实就是个手艺活。废话不多说了,直接上菜谱:

场景一

步骤框:第一步 -> 第二步 -> 第三步

这是一个常见的例子,这是一套流程,我们要做的就是串通整个流程直到结束。这种例子以表单为常见,除了顺序执行,还可提供上一步按钮,供用户返回上一步重新填写。

使用Vue来设计:

父组件可以是个自定义的 dialog 组件,装着每个流程的页面

<v-dialog>

    <step1></step1>

    <step2></step2>

    <step3></step3>

</v-dialog>

这是一套标准的教科书式写法,哈哈哈,其实我也不介意使用 Vue 的内置 Component:

<template>

    <v-dialog>

        <keep-alive>

            <component :is="conf.component" v-bind="conf.props"

                v-on="conf.listeners">

            </component>

        </keep-alive>

    </v-dialog>

</template>

<script>

    import stepOne from './step-one'

    import stepTwo from './step-two'

    import stepThree from './step-three'

    const MAP = {

        0: stepOne,

        1: stepTwo,

        2: stepThree

    }

    export default {

        data () {

            return {

                active: 0 // 0代表第一个页面的索引

            }

        },

        computed: {

            conf () {

                return {

                    component: MAP[this.active],

                    props: { ... },

                    listeners: { ... }

                }

            }

        }            

    }

</script>

乍一看页面没有很特别的地方,往往问题会从两个方向去发展:横向扩展和纵向扩展。

具体点说,如果这个时候产品又要往后再加一个步骤页面呢,但从开发的角度来讲,我们不能仅仅要考虑产品会这一个步骤,可能会加N个步骤(往复杂点想),当然产品如果这么玩的,这个页面的交互还是挺差的。

当然多页面的方式,还是更倾向于使用Vue的内置 component。

说玩设计,再来说说接口。这种表单设计,无非就是两种操作,新增和编辑。理想情况下,编辑状态时,前端是希望每个页面的数据独立获取,这里暂且不提每个页面之间的依赖关系,但现实往往是后端会把这几个页面的所有数据塞入一个对象中从接口返回。这无非是增加了前端处理的复杂度。

对于这种场景,前端的常规操作有:

这是最常规的处理方式,但如果每个页面都需要传递不同的 props,那父组件会变得非常臃肿。

这个时候我们再从纵向的角度考虑下:

纵向的问题增加了 Event Emits 和 Pass Props 操作的复杂度,对于我们日常维护会有很大的困扰。这个时候或许有些人会提议使用 Vuex,Vuex 确实能够方便我们管理状态,并且每个组件里都能获取到这个状态,只要通过简单的 mapState 即刻获取。但 Vuex 的使用也要根据实际场景,如果仅仅是2个页面的话,使用 Vuex 有的时候恰恰加大了工作量,这很矛盾,我们又要用最简单的方式处理,又要考虑到扩展要不要使用 Vuex,这个时候我还是建议大家多考虑清楚,或者和产品就页面设计的走向了解一个大概。

横向问题和纵向问题只是个简单的开始,现在场景要更复杂一点了,页面之间会有依赖。

具体点,就是页面一表单的数据更改会影响到页面二的数据展示,页面二的数据更改会影响到页面三的数据展示。

其实我们也有更好的处理方式,我们需要一个 Controller。

class Manage {

    constructor () {

        this.step1 = null

        this.step2 = null

        this.step3 = null

    }

    add (step, instance) {

        this[step] = instance

    }

}

export default new Manage()

页面级:

import manage from './Manage.js'

export default {

    name: 'Step1'

    ...

    ...

    ...

    created () {

        manage.add('step1', this)

    }

}

import manage from './Manage.js'

export default {

    name: 'Step2'

    ...

    ...

    ...

    created () {

        manage.add('step2', this)

    }

}

这样组件之间的数据共享,可以通过 controller 去处理,获得每个组件的实例并且直接获取数据。

另外,我们还能够向 controller 对象注入一个 store。

const store = new Vue({

    data () {

        return { ... }

    }

})

class Manage {

    constructor () {

        this.store = store

    }

}

这样组件之间又可以共享一些数据。

写业务之前首先还得多和产品撕下逼,了解产品到底想作甚,刚需,再来考虑交互实现方式,这里不得重新提下软文我只是想在页面上加个链接。写之前还是得多从宏观上去构建一下,而不是只着眼于细节,毕竟这样也能减少大家重构代码的概率。

以上就是关于“Vue业务实例分析”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网JavaScript频道。

--结束END--

本文标题: Vue业务实例分析

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

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

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

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

下载Word文档
猜你喜欢
  • Vue业务实例分析
    这篇“Vue业务实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue业务实例分析”...
    99+
    2024-04-02
  • vue实例分析
    本篇内容介绍了“vue实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Vue (读音 /vjuː/,类似于 View) 是一套用于...
    99+
    2023-06-22
  • vue防抖实例分析
    本篇内容介绍了“vue防抖实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • vue状态管理实例分析
    这篇文章主要介绍“vue状态管理实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue状态管理实例分析”文章能帮助大家解决问题。场景:一个地图应用,有个侧边栏...
    99+
    2024-04-02
  • Vue生命周期实例分析
    这篇文章主要介绍“Vue生命周期实例分析”,在日常操作中,相信很多人在Vue生命周期实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue生命周期实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • Vue实例初始化的示例分析
    这篇文章将为大家详细讲解有关Vue实例初始化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。以下正式开始:Vue官网的生命周期图示表重点说一下 new Vue()...
    99+
    2024-04-02
  • vue组件化的实例分析
    这篇文章将为大家详细讲解有关vue组件化的实例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。全局组件<!DOCTYPE html> <ht...
    99+
    2024-04-02
  • vue-lazyload实现的示例分析
    这篇文章给大家分享的是有关vue-lazyload实现的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先 ,在命令行输入npm install vue-lazyload...
    99+
    2024-04-02
  • Vue新手入门实例分析
    本篇内容介绍了“Vue新手入门实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! Vue实例和模板语法<body>...
    99+
    2023-06-27
  • Vue使用技巧实例分析
    这篇文章主要介绍“Vue使用技巧实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue使用技巧实例分析”文章能帮助大家解决问题。1、将一个 prop 限制在一个类型的列表中我们在使用 prop...
    99+
    2023-06-29
  • Flask Vue前后端分离实例分析
    这篇文章主要讲解了“Flask Vue前后端分离实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Flask Vue前后端分离实例分析”吧!vue官网:开源的 Javascript 框架...
    99+
    2023-07-02
  • Vue-Router使用实例代码分析
    本文小编为大家详细介绍“Vue-Router使用实例代码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Vue-Router使用实例代码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue-Router的...
    99+
    2023-07-04
  • vue中的created使用实例分析
    这篇文章主要介绍“vue中的created使用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue中的created使用实例分析”文章能帮助大家解决问题。在vue中,created钩子函数会...
    99+
    2023-06-29
  • vue封装组件js实例分析
    本文小编为大家详细介绍“vue封装组件js实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue封装组件js实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是组件化:组件化就是将一个页面拆分成一...
    99+
    2023-06-30
  • vue项目实战的示例分析
    这篇文章主要为大家展示了“vue项目实战的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue项目实战的示例分析”这篇文章...
    99+
    2024-04-02
  • vue中vue-cli的示例分析
    这篇文章将为大家详细讲解有关vue中vue-cli的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。正文首先,我们来说一下安装的东西吧!处于有头有尾的目的,还是几句...
    99+
    2024-04-02
  • Vue+Webpack+Vue-loader的示例分析
    小编给大家分享一下Vue+Webpack+Vue-loader的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用预处理...
    99+
    2024-04-02
  • Vue常用实例方法示例梳理分析
    目录前言vue实例方法和实例数据1、vm.$set2、vm.$delete3、vm.$watch实例方法和事件1、vm.$on2、vm.$emit3、vm.$once4、vm.$of...
    99+
    2024-04-02
  • vue双向绑定原理实例分析
    这篇文章主要介绍了vue双向绑定原理实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue双向绑定原理实例分析文章都会有所收获,下面我们一起来看看吧。自定义vue类vue最少需要两个参数:模板和data。...
    99+
    2023-06-29
  • Vue开发技巧实例代码分析
    这篇文章主要讲解了“Vue开发技巧实例代码分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue开发技巧实例代码分析”吧!1.路由参数解耦通常在组件中使用路由参数,大多数人会做以下事情。e...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作