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 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
Jquery 基础学习笔记
May 29 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 Javascript
Js保留小数点的4种效果实现代码分享
Apr 12 Javascript
Javascript实现简单的富文本编辑器附演示
Jun 16 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
JavaScript开发Chrome浏览器扩展程序UI的教程
May 16 Javascript
TypeScript学习之强制类型的转换
Dec 27 Javascript
Bootstrap笔记—折叠实例代码
Mar 13 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
Jul 19 Javascript
基于Vue过渡状态实例讲解
Sep 14 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 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
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
PHP 程序员应该使用的10个组件
2009/10/31 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
解析瀑布流布局:JS+绝对定位的实现
2013/05/08 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
JS通过相同的name进行表格求和代码
2013/08/18 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
js实现简单的验证码
2015/12/25 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
在AngularJS框架中处理数据建模的方式解析
2016/03/05 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
详解js动态获取浏览器或页面等容器的宽高
2019/03/13 Javascript
13 个npm 快速开发技巧(推荐)
2019/07/04 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
Python将xml和xsl转换为html的方法
2015/03/10 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
python使用turtle绘制分形树
2018/06/22 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
python超时重新请求解决方案
2019/10/21 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
小学作文评语大全
2014/04/21 职场文书
校园文明倡议书
2014/05/16 职场文书
少年派的奇幻漂流观后感
2015/06/08 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
使用python创建股票的时间序列可视化分析
2022/03/03 Python
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android
Python内置的数据类型及使用方法
2022/04/13 Python