学习内容 ⊙ vue-router的参数传递 ⊙ 导航守卫 ⊙ keep-alive 参数传递 第一种传参方式: App.vue 出来的效果就是这样的: 如果想取得query,也可以通过 $route来获取 Profile.vue 第二种传参方式: App.vue 导航守卫 我们可以发现在进行网页跳转时,我们的标题并不会发生变化,这是因为我们index里面的标题就是router-test router-view也是一个组件,如果直接被包在keep-alive里,所有路径匹配到的视图组件都会被缓存 Keep-alive是Vue内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染 App.vue 但是单单使用keep-alive是不够的,在跳转的时候还是会变回news Home.vue keep-alive看似没用的样子,但是如果没有keep-alive,activated 中添加一个name 然后再让keep-alive排除掉这个 App.vue 也可以设置多个,但是注意逗号后面千万不能有空格!!!
Vue使用printjs组件打印页面 新需求: 需要将页面的局部信息打印出来,只在前端实现,不要占用后端的资源。 经过一通百度,决定使用 print-js和html2canvas组件。 .x版本,所以如果是Vue3.x,请根据新写法在main.js中引用。 from 'html2canvas'; Vue.prototype. $print = printjs; Vue.prototype. 点击右侧打印按钮: 根据效果课件,可以显示指定区域的打印效果,且多余内容会自动的分页。
打印日志非常重要。 今天我们来聊聊日志打印的 N 个好建议~ 选择合适的日志等级 在开发中我们有常见的四种日志打印等级,debug、info、warn、error,要选择合适的等级打印,不要上来直接 info。 比如函数的入口处,打印入参,还包括用户唯一标识 (uid)、链路标识 (traceId) 等。函数出口打印返回值及时间等。 ,避免阻断流程 为了打印一行日志,程序写挂了。 日志尽量使用英文 反例: 建议:尽量在打印时日志时输出英文,防止中文编码与终端不一致导致打印出现乱码,对排查故障造成感染。
一、安装 1. npm npm install vue-seamless-scroll --save 2. CDN https://cdn.jsdelivr.net/npm/vue-seamless-scroll@latest/dist/vue-seamless-scroll.min.js 二、使用 1. 注册组件 // 单个 .vue 注册 <script> import scroll from 'vue-seamless-scroll' export default { components /li> </scroll>
第二步: 使用import引入vue import Vue from 'vue' 第三步: 构建vue对象并调用 const app = new Vue({ el: "#app", data 如果在代码中使用到了vue, 那么会去找node_module/vue/dist/vue.esm.js文件进行编译 'vue$': 'vue/dist/vue.esm.js' } 如果在代码中使用到了vue, 那么会去找node_module/vue/dist/vue.esm.js文件进行编译 ? 创建vue模板. 第一步: 创建一个vue component文件. 命名为app.vue ? 因为我们引入了vue格式的文件, 所以需要安装vue类型的loader 第四步: 安装vue类型的loader 安装vue-loader和vue-template-compiler npm install
(一)首先安装插件 npm install vue-print-nb --save (二)在main.js 中引入并注册 import Print from 'vue-print-nb' Vue.use (Print) (三)使用方法
问题描述 Vue项目利用连接针式打印机打印相关单据,打印出来的文字不清晰,字体颜色模糊。 解决思路 1、看是否样式问题 在查看Print.js 文档后发现,TA可以自己设置样式。 honorColor: true, // 是否打印彩色文本 targetStyles: ['*'] // 允许打印所有样式属性 }) 重新设置后在打印,发现问题依然存在。 然后在打印预览的时候发现普通的打印是可以选择文字什么的。而我们这个选不中才发现之前打印的逻辑是先生成base64的图片,打印的是图片。那会不会是图片模糊导致的呢? 2、将打印改成了DOM元素。 设置 printable 为需要打印模板的id,打印的时候不是图片url地址 3、重新打印后发现不是那么模糊了。 但是又涉及纸张大小的问题和文字重叠显示不全 于是重新设置打印模板的宽度和模板内元素的宽度并将字体颜色设置成 #000后,重新打印。问题完美解决。 4、总结 1、打印的是生成的图片,导致不清晰。
今天,我为你带来了一个系列精选的知识,以帮助你更快地构建 Vue 应用程序,同时,使它们更高效、更易于大规模管理。 这些高级技巧从何而来? 从我五年的 Vue开发中。 从我用 Vue 2 和 Vue 3 中构建的 20 多个大型客户端项目中。 从有影响力的 Vue 开发人员的平时开发技巧总结中。 /store' <-- To access your Vuex store import Vue from 'vue' // <-- used for vue-toastification class Vue 2 和 Vue 3 的设置略有不同,因此,请相应地选择你的风格。在 Vue2 中 // Utils import Utils from '. 11、验证组件道具 验证你的道具有两件事。它会告诉你是否向组件传递了不正确的 prop,并且可以轻松查看该组件旨在接受哪些选项。
Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但对于 IE9+,Vue 底层是支持。 下述主要阐述如何使用 vue-cli3 脚手架搭建的工程支持 IE11。 现象 IE11 打开 Vue 工程(Vue CLI)构建而来出现空白页,控制台告警、报错。 .browserslistrc > 1% last 2 versions not ie < 11 Polyfill 默认的 Vue CLI 项目会使用 @vue/babel-preset-app,它通过 /p>
由于我们项目中,大量使用了 CSS var() ,IE11
总之,所有的处理都是围绕转换成 IE11 可以兼容的方式去处理。
Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但对于 IE9+,Vue 底层是支持。 下述主要阐述如何使用 vue-cli3 脚手架搭建的工程支持 IE11。 现象 IE11 打开 Vue 工程(Vue CLI)构建而来出现空白页,控制台告警、报错。 .browserslistrc > 1% last 2 versions not ie < 11 Polyfill 默认的 Vue CLI 项目会使用 @vue/babel-preset-app,它通过 css polyfill 由于我们项目中,大量使用了 CSS var() ,IE11 不兼容导致,思路相同,寻找相应的 polyfill 即可。 总结 总之,所有的处理都是围绕转换成 IE11 可以兼容的方式去处理。对于 JavaScript 语法,即是对 babel 的控制;对于 CSS 语法,需要特定分析。
1、安装vue-print-nb插件 npm install vue-print-nb –save 2、在main.js文件中引入插件 import Print from ‘vue-print-nb ’ Vue.use(Print) 3、编写程序
vue-pdf实现pdf预览、分页、下载、打印 vue-pdf-app(功能完整内嵌组件): https://www.npmjs.com/package/vue-pdf-app vue-pdf使用(参考地址 ="printing" @click.stop="print"> 打印 //js export default { data () { return { htmlTitle: '页面导出PDF文件名' } } } 3、pdf打印功能实现 在vue-pdf组件上绑定ref属性,再到方法中使用$refs获取DOM文本,调用原型方法print() // 打印 print() { console.log(this. $refs.pdf) // 这儿的console.log 仅用于测试打印出多个结果 this.$refs.pdf.print() },
今天,我为你带来了一个系列精选的知识,以帮助你更快地构建 Vue 应用程序,同时,使它们更高效、更易于大规模管理。 这些高级技巧从何而来? 从我五年的 Vue开发中。 从我用 Vue 2 和 Vue 3 中构建的 20 多个大型客户端项目中。 从有影响力的 Vue 开发人员的平时开发技巧总结中。 /store' <-- To access your Vuex store import Vue from 'vue' // <-- used for vue-toastification class Vue 2 和 Vue 3 的设置略有不同,因此,请相应地选择你的风格。在 Vue2 中 // Utils import Utils from '. 11、验证组件道具 验证你的道具有两件事。它会告诉你是否向组件传递了不正确的 prop,并且可以轻松查看该组件旨在接受哪些选项。
参考文章:前端实现 生成条形码并调用打印机打印 开发技术栈vue3+vite+setup 实现功能,批量选择数据–>生成条形码—>调用打印机–>打印输出 一、生成条形码: 1.安装所需要插件 npm i ({ id: 'printTest', // 绑定打印区域的id beforeOpenCallback(vue) { vue.printLoading = true console.log ('打开之前') }, openCallback(vue) { vue.printLoading = false console.log('执行了打印') }, closeCallback (vue) { console.log('关闭了打印工具') } }) 具体相关条形码配置printObj,请参考vue-print-nb - npm 在打印预览的时候发现,条形码并不是一码一页 vue) { vue.printLoading = false console.log('执行了打印') }, closeCallback(vue) { console.log
//A4纸张打印 4 printSetup.setLandscape(true); //横向打印 11.2、常用参数设置方法 1、页面设置 1.1、方向: 纵向(T):HSSFPrintSetup EXECUTIVE_PAPERSIZE = 7; public static final short A4_PAPERSIZE = 9; public static final short A5_PAPERSIZE = 11 endColumn- 打印区域的结束列号 startRow-打印区域的开始行号 endRow- 打印区域的结束行号 4.2、打印标题 HSSFWorkbook#setRepeatingRowsAndColumns org.apache.poi.hssf.usermodel.HSSFPrintSetup; 10 10import org.apache.poi.hssf.usermodel.HSSFRichTextString; 11 11import org.apache.poi.hssf.usermodel.HSSFRow; 12 12import org.apache.poi.hssf.usermodel.HSSFSheet;
引言在Vue.js开发中,打印功能是许多Web应用不可或缺的一部分。无论是打印报表、订单、发票还是其他文档,都需要在Vue组件中实现可靠的打印功能。 本文将详细介绍Vue中调用浏览器打印的各种方法和最佳实践。基础打印方法1. 使用window.print()最简单直接的打印方法就是使用浏览器原生的window.print()API:// 在Vue组件中使用export default { methods: { printPage 动态样式切换在Vue中动态添加打印样式类:<template>
1,VUE 1.1 概述 接下来我们学习一款前端的框架,就是 VUE。 Vue 是一套前端框架,免除原生JavaScript中的DOM操作,简化书写。 学习了 VUE 后,部分代码我们就不需要再写了。那么 VUE 是如何简化 DOM 书写呢? 1.2 快速入门 Vue 使用起来是比较简单的,总共分为如下三步: 新建 HTML 页面,引入 Vue.js文件 <script src="js/<em>vue</em>.js"></script> 在JS代码区域,创建 1.5.2 查询所有功能 在 brand.html 页面引入 vue 的js文件 <script src="js/<em>vue</em>.js"></script> 创建 Vue 对象 在 Vue 对象中定义模型数据 在 addBrand.html 页面引入 vue 的js文件 <script src="js/<em>vue</em>.js"></script> 创建 Vue 对象 在 Vue 对象中定义模型数据 brand 定义一个
Vue自定义指令 案例代码还是在前一个案例的基础上我们来继续。 <! /lib/vue-2.4.0.js"></script> <link rel="stylesheet" href=". </table> </div> <script> // 定义一个全局按键修饰符 <em>Vue</em>.config.keyCodes.f2 =113 var vm = new <em>Vue</em>({ el: "#app", data: { id:'', 2.注意点说明 2.1 指令名称 Vue中所有的指令,在调用的时候,都以 v- 开头,然后在定义的时候我们不用添加v-前缀。 ?
console.log再部署到线上 解决办法 通过配置插件,比如uglifyjs-webpack-plugin (打包慢) 自己解决:重写console.log方法(不影响打包速度) 由于公司项目用的是vue-cli2
Here are the days: Mon Tue Wed Thu Fri Sat Sun Here are the months: Jan Feb Mar Apr May Jun Jul Aug