前端界面生成PDF并导出下载 最近,公司后台管理系统有个项目需求,将前端定义好的界面导出PDF文档。我查阅很多文档,发现可以使用html2canvas、jspdf来完成。也可以通过jspdf来绘画PDF文档 思路: 通过 html2canvas 将 HTML 页面转换成图片,然后再通过 jspdf 将图片的 base64 生成为 pdf 文件 1、安装 npm install html2canvas --save np 前端 2025年07月04日 143 点赞 0 评论 13526 浏览
哪些标签存在伪元素,伪类和伪元素的区别 存在伪元素的标签: 1、大部分容器标签(大部分双标签)都有伪元素 iframe没有伪元素 2、大部分单标签都没有伪元素,但是img有伪元素 伪元素简介: 1、伪元素既然带一个“元素”,说明它和 p ,a ,h1 等一样,可以包裹住页面的一部分内容并对其中的内容施加一定的影响。我们可以通过样式表给其书写样式 2、伪元素既然还带一个“伪”,说明它其实在 DOM 树中并不存在,只是逻辑上存在所以我们抽象 前端 2024年11月07日 51 点赞 0 评论 13531 浏览
3. CSS预处理器Less、Scss 1. CSS编写的痛点 CSS作为一种样式语言, 本身用来给HTML元素添加样式是没有问题的. 但是目前前端项目已经越来越复杂, 不再是简简单单的几行CSS就可以搞定的, 我们需要几千行甚至上万行的CSS来完成页面的美化工作. 随着代码量的增加, 必然会造成很多的编写不便: 比如大量的重复代码, 虽然可以用类来勉强管理和抽取, 但是使用起来依然不方便; 比如无法定义变量(当然目前已经支持), 前端 2025年04月19日 85 点赞 0 评论 13538 浏览
Vue WanAndroid项目 基于Vue 搭建的WanAndroid项目 供参考 项目中API均来源于:www.wanandroid.com 项目运行: 1.克隆项目至本地 2.npm install 3.npm run dev 项目架构: Vue版本: V2.5.2 UI:html5 + css3 + vant2 列表刷新:vuejs-loadmore 网络请求: axios 数据持久化:js-cookie 屏幕适配:f 前端 2025年05月16日 59 点赞 0 评论 13553 浏览
创建自定义的 Angular 模块 在之前的一篇文章中,我们知道,从组件的角度看,一个 Angular 应用可以看作是按树形结构组织的组件集合。组件树的根结点,是主组件,作为全局组件的占位符,可以包含其他功能组件及其子组件。 在 Angular 应用中,一个组件会承担一个应用功能的一部分职责。换句话说,一个应用功能会分解为若干个组件共同去完成。基于组件去管理 Angular 应用,如果业务复杂,组件过多,粒度会显得过细,难于管理。 前端 2025年06月26日 94 点赞 0 评论 13654 浏览
H5跳转微信小程序 这问题,很多情况,分几类: 一、微信内嵌H5跳转内部微信小程序页 1. 小程序页内 <!--pages/webview/webview.wxml--> <web-view src="https://abc.com/#/home"></web-view> Tips: 微信页面 webview 组件 个人小程序不支持 abc.com 域名要加到小程序合法域名 前端 2025年05月24日 35 点赞 0 评论 13686 浏览
常用 api 钩子函数 before() :在当前 describe 的第一个测试用例中仅调用一次 beforeEach() :在当前 describe 下的每一个测试用例执行前都要先执行一次 afterEach() :在当前 describe 下的每一个测试用例执行完都要先执行一次 after() :在当前 describe 的最后一个测试用例中仅调用一次 若包含多级测试套件,那么父级套件、祖父级套件声明的 前端 2025年04月17日 138 点赞 0 评论 13710 浏览
reduce比你想象中更强大 前言 前面的这篇文章 JS 基础! | 扁平数组和JSON树的转换 利用到了 reduce来实现数组转为map,以及结合concat实现数组递归拼接。今天我们来看看还能搞些什么名堂~ 简单复习一下 reduce 语法 let value = arr.reduce(function(previousValue, item, index, array) { // ... }, [initial]) 前端 2025年04月17日 136 点赞 0 评论 13719 浏览
碰撞事件 书名:代码本色:用编程模拟自然系统 作者:Daniel Shiffman 译者:周晗彬 ISBN:978-7-115-36947-5 目录 5.13 碰撞事件 1、Box2D的另一个特性——碰撞 Box2D通过“接口”提醒碰撞事件发生的时刻,在这里,我们有必要学习接口的相关知识,这是面向对象编程的一项高级特性。 你可以查看Java接口教程 ( 前端 2025年05月09日 126 点赞 0 评论 13760 浏览
vue3 状态管理 pinia 一、pinia 特点 体积小、性能好、使用简单、限制少 支持 Vue Devtools、模块热更新、服务端渲染、Vue2 和 Vue3 没有 mutations,只有 state、getters、actions(异步和同步都可) 二、pinia 安装配置 安装 npm install pinia -S 在 main.js 中注册 pinia import { createPinia 前端 2025年04月14日 153 点赞 0 评论 13763 浏览