vue打印图片以及通过url传递参数

打印图片

1、终端执行  npm i vue-print-nb
2、main.js 中全局引入
import Print from ‘vue-print-nb’; //引入
Vue.use(Print); //注册
3、通过id绑定要打印的图片
<el-image id="imagePrint"
        style="width: 100px; height: 100px"
        :src="require('@/assets/img/icon.png')">
</el-image>
4、v-print绑定按钮
<el-button v-print="printObj">打印</el-button>

5.打印照片配置参数
data() {
  return {
    printObj:{
      id:'imagePrint',//必须携带,
      popTitle:"",//打印配置页上方的标题
    },
  }
},
其他的参数一般不需要配置

url传递参数

我当时面临的需求是通过二维码跳转至某页面,这个过程需要传递参数。这种条件下我不能用以前的push。本来好兄弟让我通过window.location.href去拿url再拼接走一遍,最后还是百度出来了,以下是我总结的方法。由于保密性质,以下代码只看形似。

首先是在route的index.js中配置路由
 {
	 path: '/message/:name/:sex',
	 component: () =>import('@/components/student/message')
 },
 url请求如下:
 http://localhost'/message/zhangsan/男
 可以在mounted方法里对参数进行处理。
 let a=this.$route.params.name;//zhangsan
 let b=this.$route.params.sex;//男

自己的路要自己走,不拉别人陪跑。

续写:

本来以为这样已经可以了,但是吧,因为修改了路由,导致必须请求时必须带入参数,一般路由也是不需要的,就算我强行使用这个方法,因为我们用的若依框架,这么请求会导致界面没有左侧菜单栏的。一位前端小姐姐教我使用以下的方法拦截url:

vue文件是若依菜单指向的,这个方法是与mounted同级的
beforeRouteEnter(to, from, next) {
    next(vm => {
      vm.newId= to.query.newId? to.query.newId: null;
    });
  },
  url如下:
  http://localhost'/message/zhangsan?newId=123456

完结撒花

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值