vue render函数动态加载img的src路径操作


Posted in Javascript onOctober 26, 2020

分享一下我去如何解决vue render 中 如何正确配置img的src 路径?

一、我的项目中有俩层组件,

第一层父组件,第二层是render函数封装的组件,父组件调用render函数组件

二、render函数中需要创建<img>标签,img中的src是父组件传进来的;

src正确传进来,图片却不不显示。

三、解决办法:

首先在父组件中将图片import进来,

import empty from "./img/empty.png";

在父组件的data中声明一个变量,将empty图片引入进来

empty: empty,

父组件把图片传给子组件,子组件为

<index-grid :empty="empty"></index-grid>

子组件在props中接收empty

props: {
  empty: {
   type: String
  }
 },

子组件可以直接使用src

img.push(
    h("img", {
     style: {
      verticalAlign: "middle"
     },
     attrs: {
      src: empty
     }
    })
   );

补充知识:VUE 为img元素动态添加src及注意事项

在vue项目中,通常需要通过v-for 渲染多个img元素,当我们想给每个img元素添加他们各自的src时,需要用到vue src动态绑定

例如下面:

<img :src="typeIcon(tt.questionType)" alt="加载失败">

这里的tt 就是渲染的内容,每个img的src需要根据tt的questionType去判断

我们首先为这个判断设置一个函数,并把它绑定到img .

typeIcon:function(kind){
      switch (kind){
      case 1 : return require("../../assets/images/single_choice.png" )
      break;
      case 2 : return require( "../../assets/images/multi_choice.png" )   
      break;
      case 3 : return  require( "../../assets/images/matrix_single.png" )        
      break;
      case 4 : return  require( "../../assets/images/matrix_multi.png") 
      break;
      case 5 :return  require("../../assets/images/blank.png" )
      break;
      default: return   require( "../../assets/images/shortAnswer.png" )
    }
  },

这里我们用一个switch 语句,判断每个img对应的src 。

这里需要注意的是:

返回src时,需要在src字符串前面加上require

最后,用 :src 绑定typeIcon

<img :src="typeIcon(tt.questionType)" alt="加载失败">

以上这篇vue render函数动态加载img的src路径操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS获取dom 对象 ajax操作 读写cookie函数
Nov 18 Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
Sep 14 Javascript
javascript查询字符串参数的方法
Jan 28 Javascript
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
Sep 15 Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 Javascript
详解js前端代码异常监控
Jan 11 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
面包屑导航详解
Dec 07 Javascript
微信小程序签到功能
Oct 31 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 Javascript
js数组的基本使用总结
Jan 18 Javascript
vue实现简单的登录弹出框
Oct 26 #Javascript
让你30分钟快速掌握vue3教程
Oct 26 #Javascript
在vue项目中 实现定义全局变量 全局函数操作
Oct 26 #Javascript
vue3+typescript实现图片懒加载插件
Oct 26 #Javascript
原生js实现简单轮播图
Oct 26 #Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 #Javascript
Vue检测屏幕变化来改变不同的charts样式实例
Oct 26 #Javascript
You might like
Yii中实现处理前后台登录的新方法
2015/12/28 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php 一维数组的循环遍历实现代码
2017/04/10 PHP
php无限极分类实现方法分析
2019/07/04 PHP
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
js实现兼容IE、Firefox的图片缩放代码
2015/12/08 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Vue.js实现一个自定义分页组件vue-paginaiton
2016/09/05 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
基于node.js实现微信支付退款功能
2017/12/19 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue里如何主动销毁keep-alive缓存的组件
2019/03/21 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
2019/08/03 Javascript
layui数据表格跨行自动合并的例子
2019/09/02 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python通过imaplib模块读取gmail里邮件的方法
2015/05/08 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
python set内置函数的具体使用
2019/07/02 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
Python线程threading模块用法详解
2020/02/26 Python
读取nii或nii.gz文件中的信息即输出图像操作
2020/07/01 Python
如何基于python把文字图片写入word文档
2020/07/31 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
保时捷设计:Porsche Design
2019/03/30 全球购物
小学教师办公室制度
2014/02/03 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
优秀党员事迹材料
2014/12/18 职场文书
幼儿园综治宣传月活动总结
2015/05/07 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL