get与post如何拼接url与数据的灵活处理,循环的重要性。

get与post拼接url地址不同:

javascript 复制代码
 let postData = {
        method: "post",
        data: {
          op: "/api/setting/maintenanceperiod?period="+this.authorizationCode,
          loadingConfig: {},
          data: {
            period:this.authorizationCode
          }
        }
      };
javascript 复制代码
if(this.editData.id){
                  let postData = {
                    method: "get",
                    data: {
                      op: "/api/" + this.editData.id + "/rmmc",
                      loadingConfig: {},
                      data: {
                        id: this.editData.id,
                        pwd: this.editData.password,
                      },
                    },
                  };

后端返回一个:

某某市领导职数共20个,实配2,缺编<span style='color:#D1881B'>18</span>个,

进行页面渲染,有3种方式,第一种最笨的方式,自己手动敲出来,但是不够灵活,一旦后端的数据要变,可采用第二种,分割开来赋值。第三种相对灵活,直接循环分割的字符串,进行v-html赋值,并绑定样式。

javascript 复制代码
 <div class="actual" v-if="returnZsbzText">
                      <img src="../../../../static/images/head-renyuan.png" alt="">
                      <!-- <span>一二级主任科员职数999个,</span>
                      <span>实有999个,</span>
                      <span>空缺999个</span> -->

                      <!-- <span v-html="returnZsbzText.split(',')[0]"></span>
                      <span v-html="returnZsbzText.split(',')[1]"></span>
                      <span v-html="returnZsbzText.split(',')[2]" :style="{ color: '#D1881B' }"></span>
                      <span v-html="returnZsbzText.split(',')[3]" :style="{ color: '#4177c7' }"></span> -->

                      <template v-for="sentence in returnZsbzText.split(',')">
                        <span v-html="sentence" :style="getStyle(sentence)" :key=""></span>
                      </template>
                    </div>
javascript 复制代码
 getStyle(sentence) {
      if (sentence.includes("style")) {
        // 提取style样式
        const styleStartIndex = sentence.indexOf('style="') + 7;
        const styleEndIndex = sentence.indexOf('"', styleStartIndex);
        const style = sentence.slice(styleStartIndex, styleEndIndex);

        // 解析样式字符串,提取color属性的值
        const colorStartIndex = style.indexOf("color:") + 6;
        const colorEndIndex = style.indexOf(";", colorStartIndex);
        const color = style.slice(colorStartIndex, colorEndIndex).trim();

        return { color: color };
      } else {
        return {}; // 默认样式
      }
    },

此时,若后端返回的是一个数组,数组里面是两条类似于以上的数据

"一二级主任科员职数0个,实有0个,;", "三四级主任科员职数0个,实有0个,;"

此时采用相同的方式,再加一个for循环:

javascript 复制代码
     <div class="actualVacancy" v-if="returnRybzText">
         
                      <div class="actual" v-for="(item,index) in returnRybzText" :key="index">
                        <img src="../../../../static/images/head-renyuan.png" alt="">
                        <template v-for="sentence in item.split(',')">
                          <span v-html="sentence" :style="getStyle(sentence)" :key=""></span>
                        </template>
                      </div>
                      
                  </div>
相关推荐
Flynn Liang13 小时前
让 AI 查订单、查库存、发消息:Spring AI 自定义工具(Tool)实战与工具描述工程
java·人工智能·spring·函数调用·springai·tool·自定义工具
java1234_小锋13 小时前
【技术专题】CSS3 网页技术 - CSS3 视觉增强
前端·css·css3
Rain的Java大神之路13 小时前
我,13年Java老兵,建了个免费网站,公开叫板“Java已死”:没有广告,没有付费墙,151个页面全是踩坑干货
java·后端·程序员
萧瑟余晖13 小时前
Spring Integration企业集成概览详解
java·后端·spring
Dovis(誓平步青云)13 小时前
拖动关键帧角色就抽动,动画编辑器怎样补齐中间状态
开发语言·前端·javascript·机器学习·编辑器
这个昵称不容易13 小时前
SpringBoot 墙绘交易平台毕设:128个文件154个接口含论文,带运行截图
java·springboot·毕设
lpfasd12313 小时前
pywebview与Electron
前端·javascript·electron
SimonKing13 小时前
告别纸质合同,使用DocuSeal搭建私有电子签平台
java·后端·程序员
七夜zippoe13 小时前
Spring AI 函数调用:让 Java 方法变成 Agent 的工具(实战全流程)
java·人工智能·spring·ai·agent·函数调用
行走的陀螺仪13 小时前
Claude Code 从入门到实战(一):安装、登录与第一个Vue项目
前端·javascript·vue.js