首页 > 其他分享 >Vue中多条件图片路径通过Map存储获取避免嵌套if-else

Vue中多条件图片路径通过Map存储获取避免嵌套if-else

时间:2022-12-06 11:33:47浏览次数:65  
标签:Map direction Vue car carType else let carMap

场景

若依前后端分离版手把手教你本地搭建环境并运行项目:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662

前端接收到后台数据之后需进行多个条件判断进而显示对应的图片路径。

比如先判断车辆的类型、再判断车辆方向、再判断车辆是否在线等条件之后

进而设置对应的图片Url。

 

 

首先将各种情况下图标按照类型_方向等规范命名,比如:pickup_car_left.png

就代表皮卡类型方向向左的图片。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、首先将各种情况车辆类型与后台数据映射关系封装到js文件index.js中

const carArray = [
    ["1", "person_car"],
    ["2", "hopper_car"],
    ["3", "pickup_car"],
    ["4", "tank_car"],
    ["5", "vehicle_car"],
    ["9", "watering_car"],
];
const carMap = new Map(carArray);

export {
    carMap,
};

比如这里后台传输“1”就代表人车类型,其他以此类推。

2、然后在vue页面中引入

import {carMap } from "./index.js";

3、再收到后台数据时动态拼接图片路径

先根据Map映射获取车辆类型

                let carType = "";
                carType = carMap.get(item.carType);

其中Item.carType是后台获取的车辆类型数据

然后进行方向的判定

                let url = "";
                let carType = "";
                let direction = "";
                carType = carMap.get(item.carType);
           
                item.vehicleDirection ? (direction = "right") : (direction = "left");
                url = `images/${carType}_${direction}.png`;

 

标签:Map,direction,Vue,car,carType,else,let,carMap
From: https://www.cnblogs.com/badaoliumangqizhi/p/16954745.html

相关文章

  • vue 数组转组织树
    //树节点中查询遍历组织getNode(data,key,val){lettreeNode="";data.some(item=>{letflag=false;console.log("item[......
  • 【collection】2.java容器之HashMap&LinkedHashMap&Hashtable2
    ConcurrentHashMapput操作finalVputVal(Kkey,Vvalue,booleanonlyIfAbsent){ if(key==null||value==null)thrownewNullPointerException(); //本质......
  • Vue 中使用 tailwindcss
    Vue2中使用tailwindcssnpmitailwindcss@3postcss@8autoprefixer@10-Dnpxtailwindcssinit-p//tailwind.config.js/**@type{import('tailwindcss').Config......
  • vue 本地运行和打包部署后页面布局效果不一致的原因
    原因:style没有添加上;同一个盒子多次添加style(或者说和本地添加的style的顺序反了)解决方式:第一个原因:main.js文件中import引入文件先后顺序问题importVuefrom'v......
  • Vue项目部署后,刷新提示404
    本文来自博客园,作者:Carver-听风,转载请注明原文链接:https://www.cnblogs.com/carver/articles/16633191.html一、遇到的问题Vue项目打包部署到线上后,刷新页面会提示404......
  • Avue记(一)
    (1)Avueoption可直接调用组件component属性--子组件接收参为str{label:'模板内容',prop:'content',type:'textarea',......
  • Vue.js:v-charts根据E-charts修改样式
    以饼状图为例子:首先importimportVeRingfrom'v-charts/lib/ring'在<template>加上<ve-ring><ve-ringstyle="background:#F9F9F9":data="chartDataRing":sett......
  • This application has no explicit mapping for
    报错完整信息:Thisapplicationhasnoexplicitmappingfor/error,soyouareseeingthisasafallback翻阅了网上众多资料,主要有三种解决的方向:方向1:Application......
  • MFC--BITMAP HBITMAP CBitmap
     区分概念:BITMAP是C++中定义的位图结构体。HBITMAP是Windows中使用的位图句柄。CBitmap是MFC封装的位图类 定义与使用HBITMAP指针从文件中录入指针,得到文件句柄......
  • Map总结(理论)
         ......