vue实现图片按比例缩放问题操作


Posted in Javascript onAugust 11, 2020

如下所示:

getImg(src){
 var img_url =src
 var img = new Image()
 img.src=img_url
 this.pictureHeight.height = Math.ceil(img.height/img.width * 460)+'px'
},
//首先通过这个方法算出图片的高度/宽度比,460是我设置的宽度,计算得出需要的高度,然后修改容器的高
//度,图片通过height:100%;width:100%撑开,这样图片就不会失真了

vue里面还有一个问题,如果容器只是div的话,修改容器高度,非常简单,如果容器是一个element的插件的话,一般容器的样式都可以通过:style="styleModel"来绑定一个data中的属性styleModel:{height:100px;}这样的方式来修改,

当然如果遇到一些比较复杂的样式调整,也可以通过$refs来修改样式,,但是这样又会出现一个问题,就是$refs定位到的ref属性必须要组件完全加载完成后才能显示出来,所以一般会用this.$nextTick(function(){})的包装起来。

这个方法包装起来后的好处是,会在DOM更新完成后执行这里面的方法,这样就不用担心$refs获取不到的问题了。

this.$nextTick(function(){
  // this.$refs.test.$el.childNodes[0].style.height=this.pictureHeight.height
   document.getElementsByClassName('el-carousel__container')[0].style.height=this.pictureHeight.height
  })
 
//现在就是通过这两种比较通用的js方式来操作属性了

补充知识:vue实现图片放大的方法

一、v-viewer插件

首先,用命令行安装v-viewer插件:

npm install v-viewer --save

然后,在main.js中注册v-viewer插件,代码如下:

// 实现图片点击放大
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
Vue.use(Viewer);
Viewer.setDefaults({
 Options: { "inline": true, "button": true, "navbar": true, "title": true, "toolbar": true, "tooltip": true, "movable": true, "zoomable": true, "rotatable": true, "scalable": true, "transition": true, "fullscreen": true, "keyboard": true, "url": "data-source" }
});

注册完成后,就可以在组件中使用v-viewer插件了:

<template>
  <!-- imgArr是图片地址的数组,例: ['1.png','2.png'] -->
 <viewer :images="imgArr">
 <img v-for="src in imgArr" :src="src" :key="src" width="200">
 </viewer>
</template>

二、vue-directive-image-previewer插件

用命令行安装vue-directive-image-previewer插件:

npm install vue-directive-image-previewer -D

在main.js中注册:

import VueDirectiveImagePreviewer from 'vue-directive-image-previewer'
import 'vue-directive-image-previewer/dist/assets/style.css'
Vue.use(VueDirectiveImagePreviewer)

在组件中使用vue-directive-image-previewer插件:

<template>
 <div>
  <img v-image-preview src="123.png"/>
 </div>
</template>

以上这篇vue实现图片按比例缩放问题操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js检测客户端不是firefox则提示下载
Apr 07 Javascript
深入理解Javascript里的依赖注入
Mar 19 Javascript
javascript基本包装类型介绍
Apr 10 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(一)
Dec 10 Javascript
Jquery遍历select option和添加移除option的实现方法
Aug 26 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
Dec 26 Javascript
jquery实现轮播图效果
Feb 13 Javascript
jQuery判断邮箱格式对错实例代码讲解
Apr 12 jQuery
Bootstrap模态框插入视频的实现代码
Jun 25 Javascript
vue 做移动端微信公众号采坑经验记录
Apr 26 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
Vue模板语法中数据绑定的实例代码
May 17 Javascript
JavaScript中while循环的基础使用教程
Aug 11 #Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 #Javascript
js实现列表按字母排序
Aug 11 #Javascript
Vue使用轮询定时发送请求代码
Aug 10 #Javascript
vue页面引入three.js实现3d动画场景操作
Aug 10 #Javascript
详解vue中v-model和v-bind绑定数据的异同
Aug 10 #Javascript
maptalks+three.js+vue webpack实现二维地图上贴三维模型操作
Aug 10 #Javascript
You might like
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
浅谈php中mysql与mysqli的区别分析
2013/06/10 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
万能的php分页类
2017/07/06 PHP
JavaScript 学习点滴记录
2009/04/24 Javascript
jQuery Select(单选) 模拟插件 V1.3.62 改进版
2010/07/17 Javascript
利用webqq协议使用python登录qq发消息源码参考
2013/04/08 Javascript
js中Math之random,round,ceil,floor的用法总结
2013/12/26 Javascript
JS操作CSS随机改变网页背景实现思路
2014/03/10 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JQuery解析HTML、JSON和XML实例详解
2014/03/29 Javascript
JS上传图片前实现图片预览效果的方法
2015/03/02 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
vuejs router history 配置到iis的方法
2018/09/20 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
Python程序设计入门(1)基本语法简介
2014/06/13 Python
如何理解Python中包的引入
2020/05/29 Python
pycharm使用技巧之自动调整代码格式总结
2020/11/04 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
三八妇女节超市活动方案
2014/08/18 职场文书
创先争优活动心得体会
2014/09/04 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
机关干部作风建设剖析材料
2014/10/23 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
实习计划书范文
2015/01/16 职场文书
市场营销计划书
2015/01/17 职场文书
庆祝教师节活动总结
2015/03/23 职场文书
电信营业员岗位职责
2015/04/14 职场文书
2019入党申请书格式
2019/06/25 职场文书
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL