vue 方法中js动态创建dom,拼接元素图片不显示

 var ob = '<ul class="layer_notice">';
                
       for (var j = 0;j < this.deviceDetailArray.length;j++) {
            if(this.deviceDetailArray[j].kinds == 1){
                ob += '<li><img src="/static/App.png"/><span>';
                ob += this.deviceDetailArray[j].name+'</span></li>';
            } else if(this.deviceDetailArray[j].kinds == 2) {
                ob += '<li><img src="../assets/DB.png"/><span>';
                ob += this.deviceDetailArray[j].name+'</span></li>';
            } else {
                ob+= '<li>暂无数据</li>';
            }
       }
   ob+='</ul>';
   console.log(ob);

拼成的dom元素

<ul class="layer_notice">
     <li>
         <img src="../assets/App.png" /><span>OA系统应用</span>
     </li>
     <li>
         <img src="../assets/DB.png" /><span>OA系统数据库</span>
     </li>
     <li>
         <img src="../assets/DB.png" /><span>sql系统数据库</span>
     </li>
</ul>

图片无法显示!

这个坑主要是理解,当前方法中自己拼的这段dom节点,是不会走webpack打包去变路径,所以写的asset目录,出来的是原来那个名称,拼的什么就还是什么,但是如果你是走templete或者require,他会在webpack打包阶段,他会帮你来处理这个路径的变换,他会把对应的assets里的内容拷贝到最后的dist目录里,同时把你的路径修正成正确的路径。

for (var j = 0;j < this.deviceDetailArray.length;j++) {
                    if(this.deviceDetailArray[j].kinds == 1){
                        ob += '<li><img src="'+require("../assets/App.png")+'"/><span>';
                        ob += this.deviceDetailArray[j].name+'</span></li>';
                    } else if(this.deviceDetailArray[j].kinds == 2) {
                        ob += '<li><img src="'+require("../assets/DB.png")+'"/><span>';
                        ob += this.deviceDetailArray[j].name+'</span></li>';
                    } else {
                        ob+= '<li>暂无数据</li>';
                    }
                }
                ob+='</ul>';
                console.log(ob);

通过require来加载图片,才会走webpack那一套

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yusirxiaer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值