首页 > 其他分享 >使用vue3重构项目的一点思考

使用vue3重构项目的一点思考

时间:2023-02-26 16:11:57浏览次数:55  
标签:组合式 重构 项目 vue3 思考 使用 页面

vue3如何做整页面复用?

场景是,monorepo项目,子项目间总有可以复用的页面,比如说登录页、用户管理和权限管理等。

这些页面大部分情况下都相同,但可能具有不同的用户权限分类,有一些特殊管理员。

使用vue2时,用extend与mixin属性,可以做整个页面的继承,在子页面中覆写基页面的部分方法。

使用vue3后,如何重构这种场景?

首先要明确的是:不能再不伦不类地使用extends, mixin这种东西。

方案一:

使用带插槽的组件写整页。

如果两个页面有区别的部分,说明这部分是该项目特有的业务需求,比如用户管理,项目A需要选择业务管理员所管理的业务,这部分属于项目A的业务需求,就应该放slot里面。

通讯录页面左侧的人员树,也可以抽成单独的组件,或者抽一个组合式函数。

方案二:
组合式函数和组件的区别在于有没有视图部分。
目标是视图一样但使用不同逻辑的话,为什么不直接把逻辑通过props传进去?或者用组合式函数写逻辑?

标签:组合式,重构,项目,vue3,思考,使用,页面
From: https://www.cnblogs.com/nanimono/p/17156870.html

相关文章

  • 对比IRLS,OMP,MOMP,SP以及CoSaMP五种压缩感知算法的信号重构性能
    UP目录一、理论基础1.1IRLS1.2OMP1.3SP1.4CoSaMP二、核心程序三、测试结果一、理论基础压缩采样匹配追踪(CompressiveSamplingMP)是D.Needell继ROMP之后提出的......
  • 【vue3】vue3+ts+vite项目创建
    1、npminitvite@lastest 2、项目目录结构  3、npminstall(i) 安装依赖(是根据package.json中devDependencies的依赖安装的)启动命令 dev  打包命令build预......
  • Vue3 + Vite +TS 项目问题总结
    最近做的几个Vue项目基本都收尾了,总结一下在项目中遇到的问题,希望能帮助遇到同样问题的小伙伴项目情况:我做的项目都是Vue3.2(setup语法)+Vite+TS,一个H5项目,一个PC前......
  • 【vue3】实现全屏功能
    前言全屏效果:实现安装依赖包npmi@vueuse/core调用import{useFullscreen}from'@vueuse/core'useFullscreen的使用文档:https://vueuse.org/core/useFull......
  • Vue3学习笔记(1)
    安装//使用yarn构建//安装yarn需要管理员权限sudonpmiyarn-gyarncreatevitecd..yarnyarndev目录结构见名知义四种......
  • vue3兄弟组件传参
    兄弟组件传参数mitt使用方式和vue2的事件大巴类似。安装npmimitt-S新建plugin/Bus.jsimportmittfrom'mitt'cosntemitter=mitt()exportdefaultemitterHome.vue<t......
  • vue3插槽
    父级组件中使用 ​​<A></A>​​并且不提供任何插槽内容时,子组件中 ​​<slot></slot>​​标签中的内容当作默认内容展示。v-slot只能添加在​​<template​​(一种情......
  • 解决方案架构师如何思考?| Anuar
    当我还是一名日日夜夜编写源代码的开发人员时,我对架构以及解决方案架构师在设计系统时所做的事情有一个了解。它是关于根据一些模式和最佳方法设计源代码,搜索新组件以及现......
  • 父类显式向子类强转的思考
    父类显式向子类强转的思考1.起因看到一道面试题:publicclassAnimal{privateStringname="animal_name";publicvoidgetName(){System.out.......
  • Vue3中url传递参数通过全局前置守卫接收参数,利用store存储并控制DOM显示或隐藏(记录一
    业务场景:根据路由传递的标志eg:hidden来控制侧边栏和横条显示或隐藏核心代码:<a-layout-headerclass="header"v-if="!(parseInt(hidden)===1?true:false)">......