《若依ruoyi》第十五章:Ruoyi 详解VUE常用的几种import引入方式
ztj100 2025-07-23 19:27 49 浏览 0 评论
1、什么是组件
都说Vue是组件化开发,确实有道理,别说按钮输入框这种组件了,就连每个页面,从本质来看也是一个个组件,所以目标很明确,拿来就能用,有一定使用规范和预设样式,我都认为是一个组件,包括有一定规范和预设样式的页面,也可以认为是一个组件
2、可以写出什么组件?
关于如何去写自己的组件,我将它分为两块,一块是套路组件,一块是创新组件
套路组件
什么是套路组件,为什么我称之为套路?
首先必须知道,无论你使用过哪个组件库,只要是见识过2个及2个以上的同学都会发现,组件库的内容其实大同小异
最常见的正如我上文所提到的按钮和输入框,基本所有的组件库都会有的内容,同时能发现在原Html代码中也可以使用到的相似元素,这样一想,那么组件库中按钮、输入框之类的组件相当于是对原有元素的二次包装。
使用的是已经有的元素,通过预设样式和编写使用文档制作出来的组件,这不就是套路嘛
创新组件
既然如此,那创新组件就很显然了,完全使用自己的想法编写出来的组件,不使用默认的元素进行包装
3、vue组件引入方式
1 引入第三方插件
import echarts from 'echartshttp://'
2 引入工具类
第一种是引入单个方法
import {axiosfetch} from './util';
下面是写法,需要export导出
export function axiosfetch(options) {
}
第二种 导入成组的方法
import * as tools from './libs/tools'
其中tools.js中有多个export方法,把tools里所有export的方法导入
vue中怎么用呢?
Vue.prototype.$tools = tools
直接用 this.$tools.method调用就可以了
说到这 export 和 export default 又有什么区别呢?
下面看下区别
先是 export
import {axiosfetch} from './util';
//需要加花括号 可以一次导入多个也可以一次导入一个,但都要加括号
如果是两个方法
import {axiosfetch,post} from './util';
再是 export default
import axiosfetch from './util'; //不需要加花括号 只能一个一个导入
3.导入 css文件
import 'iview/dist/styles/iview.css';
如果是在.vue文件中那么在外面套个style
4.导入组件
import name1 from './name1'
import name2 from './name2'
components:{
name1,
name2,
},
3、结合上两篇文章的代码生成页面实列说明
代码路径/src/view/tool/gen
1)点击代码生成菜单,展示列表记录
2)点击导入按钮,进入另外一个页面组件
1.在script引入组件
import importTable from "./importTable";
2、在template定义组件和设置组件事件和参数
<import-table ref="import" @ok="handleQuery" />
3、定义按钮,触发按钮后将组件显示,例如下面代码片段,定义了一个按钮,按钮是编辑功能,按钮里面绑定一个方法,方法是@click="openImportTable"
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-upload"
size="mini"
@click="openImportTable"
v-hasPermi="['tool:gen:import']"
>导入</el-button>
</el-col>
openImportTable:打开弹窗,加载import页面
ref 有三种用法:
1、ref 加在普通的元素上,用this.$refs.(ref值) 获取到的是dom元素
2、ref 加在子组件上,用this.$refs.(ref值) 获取到的是组件实例,可以使用组件的所有方法。在使用方法的时候直接this.$refs.(ref值).方法() 就可以使用了。
3、如何利用 v-for 和 ref 获取一组数组或者dom 节点
下面代码是使用第二种方法,加载子组件,其中import对应template里面的ref组件名称
/** 打开导入表弹窗 */
openImportTable() {
this.$refs.import.show();
},
4、importTable组件详解
1)、从上面执行openImportTable的方法可以看出this.$refs.import.show();调用子组件的show方法,show的方法里面执行了两个操作,一个是查询列表的方法,另外一个是这是visible属性为ture,el-dialog组件里面有一个属性是visible 是否显示 Dialog,支持 .sync 修饰符,如果是ture,则显示对话框,如果是flas,则不现实对话框
// 显示弹框
show() {
this.getList();
this.visible = true;
},
2)、在template标签里面使用el-dialog组件,表示该组件使用弹窗的方式进行显示,width="800px":表示弹窗对话框的宽度是800px,
append-to-body:Dialog 自身是否插入至 body 元素上。嵌套的 Dialog 必须指定该属性并赋值为 true
<el-dialog title="导入表" :visible.sync="visible" width="800px" top="5vh" append-to-body>
</el-dialog>
展示的效果如下,背景是遮罩层,显示弹窗信息
相关推荐
- Linux集群自动化监控系统Zabbix集群搭建到实战
-
自动化监控系统...
- systemd是什么如何使用_systemd/system
-
systemd是什么如何使用简介Systemd是一个在现代Linux发行版中广泛使用的系统和服务管理器。它负责启动系统并管理系统中运行的服务和进程。使用管理服务systemd可以用来启动、停止、...
- Linux服务器日常巡检脚本分享_linux服务器监控脚本
-
Linux系统日常巡检脚本,巡检内容包含了,磁盘,...
- 7,MySQL管理员用户管理_mysql 管理员用户
-
一、首次设置密码1.初始化时设置(推荐)mysqld--initialize--user=mysql--datadir=/data/3306/data--basedir=/usr/local...
- Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门
-
1.1数据库的核心概念在开始Python数据库编程之前,我们需要先理解几个核心概念。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它就像一个电子化的文件柜,能让我们高效...
- Linux自定义开机自启动服务脚本_linux添加开机自启动脚本
-
设置WGCloud开机自动启动服务init.d目录下新建脚本在/etc/rc.d/init.d新建启动脚本wgcloudstart.sh,内容如下...
- linux系统启动流程和服务管理,带你进去系统的世界
-
Linux启动流程Rhel6启动过程:开机自检bios-->MBR引导-->GRUB菜单-->加载内核-->init进程初始化Rhel7启动过程:开机自检BIOS-->M...
- CentOS7系统如何修改主机名_centos更改主机名称
-
请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1.前言本文将讲解CentOS7系统如何修改主机名。...
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
-
在Linux服务器管理中,SSH(SecureShell)是远程操作的核心工具。以下是SSH终端操作的常用命令和技巧,涵盖连接、文件操作、系统管理等场景:一、SSH连接服务器1.基本连接...
- Linux开机自启服务完全指南:3步搞定系统服务管理器配置
-
为什么需要配置开机自启?想象一下:电商服务器重启后,MySQL和Nginx没自动启动,整个网站瘫痪!这就是为什么开机自启是Linux运维的必备技能。自启服务能确保核心程序在系统启动时自动运行,避免人工...
- Kubernetes 高可用(HA)集群部署指南
-
Kubernetes高可用(HA)集群部署指南本指南涵盖从概念理解、架构选择,到kubeadm高可用部署、生产优化、监控备份和运维的全流程,适用于希望搭建稳定、生产级Kubernetes集群...
- Linux项目开发,你必须了解Systemd服务!
-
1.Systemd简介...
- Linux系统systemd服务管理工具使用技巧
-
简介:在Linux系统里,systemd就像是所有进程的“源头”,它可是系统中PID值为1的进程哟。systemd其实是一堆工具的组合,它的作用可不止是启动操作系统这么简单,像后台服务...
- Linux下NetworkManager和network的和平共处
-
简介我们在使用CentoOS系统时偶尔会遇到配置都正确但network启动不了的问题,这问题经常是由NetworkManager引起的,关闭NetworkManage并取消开机启动network就能正...
你 发表评论:
欢迎- 一周热门
-
-
MySQL中这14个小玩意,让人眼前一亮!
-
旗舰机新标杆 OPPO Find X2系列正式发布 售价5499元起
-
Linux下NetworkManager和network的和平共处
-
Kubernetes 高可用(HA)集群部署指南
-
linux系统启动流程和服务管理,带你进去系统的世界
-
7,MySQL管理员用户管理_mysql 管理员用户
-
面试官:使用int类型做加减操作,是线程安全吗
-
C++编程知识:ToString()字符串转换你用正确了吗?
-
【Spring Boot】WebSocket 的 6 种集成方式
-
PyTorch 深度学习实战(26):多目标强化学习Multi-Objective RL
-
- 最近发表
-
- Linux集群自动化监控系统Zabbix集群搭建到实战
- systemd是什么如何使用_systemd/system
- Linux服务器日常巡检脚本分享_linux服务器监控脚本
- 7,MySQL管理员用户管理_mysql 管理员用户
- Python数据库编程教程:第 1 章 数据库基础与 Python 连接入门
- Linux自定义开机自启动服务脚本_linux添加开机自启动脚本
- linux系统启动流程和服务管理,带你进去系统的世界
- CentOS7系统如何修改主机名_centos更改主机名称
- 前端工程师需要熟悉的Linux服务器(SSH 终端操作)指令
- Linux开机自启服务完全指南:3步搞定系统服务管理器配置
- 标签列表
-
- idea eval reset (50)
- vue dispatch (70)
- update canceled (42)
- order by asc (53)
- spring gateway (67)
- 简单代码编程 贪吃蛇 (40)
- transforms.resize (33)
- redisson trylock (35)
- 卸载node (35)
- np.reshape (33)
- torch.arange (34)
- npm 源 (35)
- vue3 deep (35)
- win10 ssh (35)
- vue foreach (34)
- idea设置编码为utf8 (35)
- vue 数组添加元素 (34)
- std find (34)
- tablefield注解用途 (35)
- python str转json (34)
- java websocket客户端 (34)
- tensor.view (34)
- java jackson (34)
- vmware17pro最新密钥 (34)
- mysql单表最大数据量 (35)