Avue框架学习

Avue框架学习

我们的项目使用的框架是 Avue
在我看来这个框架最大的特点是可以基于JSON配置页面上的From,Table以及各种各样的输入框等,不需要懂前端就可以很快上手,前提是需要多查一下文档

开发环境搭建

由于我本地的环境全是用docker来搭建的,所以我依然选择用docker搭建我的开发环境

1.编写dockerfile构建基础镜像

# vue项目是依赖node.js环境的
# 直接依据官方的node.js镜像来进行构建
# {version} 替换成所需的node.js版本
FROM node:{version}

# 设置工作目录
WORKDIR /app

# 先把package复制到镜像用于构建项目依赖
COPY package*.json ./
RUN npm install

# 在把项目复制到镜像中
COPY . .

# 暴露开发服务器端口
EXPOSE 8081

# 启动开发服务器
CMD ["npm", "run", "dev" , "--" , "--port" , "8081"]

2.编写docker-compose.yaml指定镜像运行容器

# 我本地的docker版本比较高,不需要指定version

# 服务
services:
  # 服务名称
  tpm:
    # 将当前目录下的Dockerfile构建成一个新的镜像
    build:
      context: .
      dockerfile: Dockerfile
    # 指定容器的名称  
    container_name: tpm
    # 将当前目录下所有文件挂在进容器内
    # dockerfile中的执行的 npm install 生成的node_modules也需要挂在到宿主机
    volumes:
      - .:/app
      - /app/node_modules
    # 环境变量 CHOKIDAR_USEPOLLING 用于解决在 Docker 中文件系统事件丢失的问题
    environment:
      - CHOKIDAR_USEPOLLING=true
    # 开启一个模拟的终端
    stdin_open: true
    tty: true
    # 端口映射
    ports:
      - "8081:8081"

# 指定网络
networks:
  default:
    driver: bridge
    ipam:
      driver: default

3.运行起来~

# 找到docker-compose.yaml文件并执行以下命令
docker-compose up

在这里插入图片描述

执行到这一步已经可以进行开发任务了,访问 http://localhost:8081/

通过 docker logs -f tpm 就可以查看容器的日志啦

Avue速查手册
avue-crud 配置项
<avue-crud
    :option="option"                    // 表格配置属性
    :table-loading="loading"            // 表格等待框的控制,加载的时候转圈圈,设置true/false
    :search.sync="search"               // 搜索的变量(需要sync修饰符)
    :visible.sync="changelnfo"          // 是否显示,设置true/false
    :data="data"                        // 表格显示的数据
    :page.sync="page"                   // 表格分页配置选项(需要sync修饰符)
    :permission="permissionList"        // 权限控制
    :before-open="beforeOpen"           // 打开前的回调function(file,column)
    v-model="form"                      // 数据模型用来存取页面值的
    ref="crud"                          // 在普通的DOM元素上使用,引用指向的就是DOM元素
    @cell-click="pageto"                // 表格点击运行方法onclick方法定义
    @row-update="rowUpdate"             // 更新数据后确定触发该事件
    @row-save="rowSave"                 // 新增数据后点击确定触发该事件
    @row-del="rowDel"                   // 行数据删除时触发该事件
    @row-click="handleRowClick"         // 单击行运行的方法
    @search-change="searchChange"       // 点击搜索后触发该事件
    @search-reset="searchReset"         // 清空搜索回调方法
    @selection-change="selectionChange" // 点击页码会调用current-change方法回调当前页数,返回当前第几页
    @current-change="currentChange"     // 点击每页多少条会调size-change方法回调
    @size-change="sizeChange"           // 点击刷新按钮触发该事件
    @refresh-change="refreshChange"     // 当选择项发生变化时会触发该事件
    @on-load="onLoad"                   // 打开表格页面的方法,一般用来初始化,返回页面数据
>
option 参数解释

option: {
    height:'auto',              // 表格高度
    calcHeight: 30,             // 表格高度差
    searchShow: true,           // 首次加载是否显示搜索
    searchMenuSpan: 4,          // 搜索按钮长度
    searchSpan:6,               // 搜索框长度最大长度24
    border: true,               // 表格边框是否显示
    index: true,                // 是否显示序号
    indexLabel:'序号',          // 并将索引字段设置为"序号"
    viewBtn: true,              // 是否显示查看按钮
    selection: true,            // 表格勾选列(即批量删除)
    dialogClickModal: false,    // 是否可以通过点击modal关闭Dialog
    addBtn:false,               // 是否显示添加按钮
    editBtn:false,              // 是否显示编辑按钮
    delBtn:false,               // 是否显示删除按钮
    excelBtn:false,             // 表格导出按钮是否显示
    labelWidth:120,             // 表单前面的标题长度
    searchLabelWidth:80,        // 搜索项标题长度
    refreshBtn: false,          // 表格上面小的刷新按钮
    columnBtn: false,           // 表格上面小的列表按钮
    searchBtn: false,           // 表格上面小的搜索按钮
    menu: true,                 // 是否显示操作栏
    menuWidth:300,              // 表格操作列宽度
    dialogWidth: '80%',         // 弹出表单的弹窗宽度
    saveBtnText:'保存',         // 保存按钮文案
    updateBtnText:'修改',       // 修改按钮文案
    cancelBtnText:'取消',       // 取消按钮文案
    addBtnText:'新增',          // 新增按钮文案
    editBtnText:'编辑',         // 编辑按钮文案
    delBtnText:'删除',          // 删除按钮文案
    viewBtnText:'查看',         // 查看按钮文案
    searchBtnText:'搜索',       // 搜索按钮文案
    emptyBtnText:'清空',        // 清空按钮文案
    dialogClickModal: false,    // dialog对话框去掉'点击屏幕空白区就关闭弹框'属性
    searchShowBtn:true,         // 栏目折叠显隐
    header:false,               // 隐藏表格头部操作
    refreshBtn:true,            // 刷新
    columnBtn: true,            // 操作列显隐
    excelBtn: false,            // 导出Excel
    printBtn: false,            // 表格打印导出
    filterBtn: false,           // 筛选
}
column 参数解释
column: [
    {
        label:"用户名",             //表格的标题
        prop:"username",            //表格的key
        width:"150",                //表格的宽度
        fixed: true,                //是否冻结列
        hide:true,                  //是否隐藏列
        index:true,                 //是否显示表格序号默认值:false
        visdiplay:true,             //表单不显示
        overHidden: true,           //超出用省略号显示
        rules: [                    //表单校验规则
            {
                required: true,     //是否必填
                message:"提示信息",  //提示信息
                trigger: "blur"
            }
        ],
        addDisabled: true,          //添加的时候禁止修改
        editDisabled: true,         //编辑的时候禁止修改
        disabled:true,              //禁止编辑
        addDisplay: false,          //新增时是否显示 
        editDisplay: false,         //编辑时是否显示
        viewDisplay: false,         //查看时是否显示
        display: false,             //在查看,新增,编辑页面是否显示
        span:24,                    //span:24-条数据占一行,span:8一行3条数据
        sortable:true,              //排序方式切换,倒序、正序切换
        search:true,                //添加可搜索框
        searchPlaceholder:"搜索框辅助文字",
        align:"center",             //表单数据居中
        row: true,                  //是否单独成行
    }
]
组合式API-生命周期钩子
onMounted()          //组件挂载完成后执行
onUpdated()          //状态变更而更新其DOM树之后调用
onUnmounted()        //组件实例被卸载之后调用
onBeforeMount()      //组件被挂载之前被调用
onBeforeUpdate()     //状态变更而更新其DOM树之前调用
onBeforeUnmount()    //组件实例被卸载之前调用
onErrorCaptured()    //捕获了后代组件传递的错误时调用
onRenderTracked()    //组件渲染过程中追踪到响应式依赖时调用
onRenderTriggered()  //响应式依赖的变更触发了组件渲染时调用
onActivated()        //若组件实例是<KeepAlive>缓存树的一部分,当组件被插入到DOM中时调用
onDeactivated()      //若组件实例是<KeepAlive>缓存树的一部分,当组件从DOM中被移除时调用
onServerPrefetch()   //组件实例在服务器上被渲染之前调用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/751888.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【第二周】基础语法学习

目录 前言初始化项目文件介绍基本介绍JSWXMLWXSS 常见组件基础组件视图容器match-mediamovable-area/viewpage-containerscroll-viewswiper 表单组件自定义组件 模板语法数据绑定单向数据绑定双向数据绑定 列表渲染条件渲染模板引用 事件系统事件类型事件绑定阻止冒泡互斥事件事…

【开源项目】自然语言处理领域的明星项目推荐:Hugging Face Transformers

在当今人工智能与大数据飞速发展的时代&#xff0c;自然语言处理&#xff08;NLP&#xff09;已成为推动科技进步的重要力量。而在NLP领域&#xff0c;Hugging Face Transformers无疑是一个备受瞩目的开源项目。本文将从项目介绍、代码解释以及技术特点等角度&#xff0c;为您深…

《梦醒蝶飞:释放Excel函数与公式的力量》6.3NOW函数

6.3NOW函数 1&#xff09;NOW函数概述 NOW函数是Excel中一个非常实用的内置函数&#xff0c;它返回当前的日期和时间。这个函数可以自动更新&#xff0c;以反映打开工作簿时的确切日期和时间。 2&#xff09;函数语法 NOW函数的语法非常简单&#xff0c;因为它不需要任何参…

操作系统-中断和异常

中断和异常 用户态&#xff1a;普通应用程序运行在用户态&#xff0c;有很多权限限制 内核态&#xff1a;操作系统运行在内核态&#xff0c;有完全的权限访问和管理所有资源&#xff08;硬件&#xff0c;内存&#xff09; 中断的作用 把CPU从用户态变内核态 异常&#xff08…

前端性能优化-实测

PageSpeed Insights 性能测试 今天测试网站性能的时候发现一个问题&#xff0c;一个h2标签内容为什么会占据这么长的渲染时间&#xff0c;甚至有阶段测到占据了7000多毫秒&#xff0c;使用了很多方法都不能解决&#xff0c;包括了修改标签&#xff0c;样式大小等&#xff0c;当…

【C++题解】* 1266. 求最大数

问题&#xff1a;1266. 求最大数 类型&#xff1a;简单循环 题目描述&#xff1a; 问 555555 的约数中最大的三位数是多少&#xff1f; 输入&#xff1a; 无。 输出&#xff1a; 约数中最大的三位数。 完整代码如下&#xff1a; #include<bits/stdc.h> using nam…

基于weixin小程序乡村旅游系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;商家管理&#xff0c;旅游景点管理&#xff0c;景点类型管理&#xff0c;景点路线管理&#xff0c;系统管理 商家帐号账号功能包括&#xff1a;系统首页&#xff0c;旅游景点管理&…

【机器学习300问】132、自注意力机制(Self-Attention)和传统注意力机制(Attention)的区别?

最近学习注意力机制的时候&#xff0c;发现相同的概念很多&#xff0c;有必要给这些概念做一下区分&#xff0c;不然后续的学习可能会混成一团。本文先区分一下自注意力机制和传统注意力机制。我会先直接给出它们之间有何区别的结论&#xff0c;然后通过一个例子来说明。 【机…

2024最新!将mysql的数据导入到Solr

Solr导入mysql的数据 如何安装导入数据前准备配置Solr的Jar包以及Mysql驱动包1.1、将solr-8.11.3\dist下的两个包进行移动1.2、将mysql-connect包也移动到该位置1.3、重启Solr项目 配置xml2.1、第一步我们需要创建核心2.2、第二步修改xml(这里是结合19年的教程)2.3、 创建data-…

【力扣】有效的字母异位词

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 给定两个字符串 s …

嵌入式 Linux 设备刷系统具体组成

嵌入式 Linux 设备刷系统具体组成 1 介绍1.1 概述1.2 嵌入式 Linux 的组成1.3 U-Boot1.4 Linux 内核1.5 设备树1.6 根文件系统 参考 1 介绍 1.1 概述 一个完整的 linux 系统&#xff0c;通常包含了 U-Boot、kernel、设备树以及根文件系统。 1.2 嵌入式 Linux 的组成 1.3 U-…

Java源码实现《植物大战僵尸》

前言 学Java的朋友们&#xff0c;福利来了&#xff0c;今天小编给大家带来了一款 植物大战僵尸源码&#xff0c;看图: 视频演示 环境JDK1.8 类继承UML图 源码实现 我们先从main函数看起&#xff0c;继承了javafx.application.Application。JavaFx是Java图形化界面技术AWT、S…

30分钟速通ROS联合Webots仿真实战

写在前面&#xff1a; 本文是ROS联合Webots仿真实战教程&#xff0c;不包含ROS环境安装配置教程&#xff0c;ROS环境安装配置教程可以参考1.2.4 安装 ROS Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 另本文所用版本如下&#xff1a; ubuntu版本&#xff1a;20…

Github 2024-06-28 Java开源项目日报Top9

根据Github Trendings的统计,今日(2024-06-28统计)共有9个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目8非开发语言项目1HTML项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476 天协议类型:OtherStar数量:63556…

基于 Paimon 的袋鼠云实时湖仓入湖实战剖析

在当今数据驱动的时代&#xff0c;企业对数据的实施性能力提出了前所未有的高要求。为了应对这一挑战&#xff0c;构建高效、灵活且可扩展的实时湖仓成为数字化转型的关键。本文将深入探讨袋鼠云数栈如何通过三大核心实践——ChunJun 融合 Flink CDC、MySQL 一键入湖至 Paimon …

海思SS928/SD3403开发笔记4——u盘挂载

首先一定要将u盘格式化成fat32。 挂载 mkdir /mnt/usb mount /dev/sda1 /mnt/usb成功示意图&#xff1a; 取消挂载 umount /mnt/usb

Python生成图形验证码

文章目录 安装pillow基本用法生成代码 安装pillow pip install pillow 基本用法 特殊字体文字 如下所示&#xff0c;将下载下来的ttf字体文件放到py文件同一文件夹下 分享一个免费下载字体网站&#xff1a;http://www.webpagepublicity.com/free-fonts.html 我选的字体是Baj…

[数据集][目标检测]游泳者溺水检测数据集VOC+YOLO格式4599张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4599 标注数量(xml文件个数)&#xff1a;4599 标注数量(txt文件个数)&#xff1a;4599 标注…

LearnOpenGL - Android OpenGL ES 3.0 使用 FBO 进行离屏渲染

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好&#xff0c;窗口LearnOpenGL 笔记 - 入门 04 你好&#xff0c;三角形OpenGL - 如何理解 VAO 与 VBO 之间的关系LearnOpenGL - Android OpenGL ES 3.0 绘制…

千年织锦:中国古代包文化的辉煌历程与现代传承

追溯至远古&#xff0c;我们的祖先就开始利用自然界的恩赐——皮革、植物纤维等&#xff0c;制作出最原始的包袋。随着时间的推移&#xff0c;技艺的提升&#xff0c;包的材质逐渐丰富起来&#xff0c;从粗糙到精致&#xff0c;从简单到复杂&#xff0c;每一次材质的革新都是人…