SEO机制算是让我玩明白了

news2024/11/26 0:28:06

 获取当前时间时间戳,返回遵循ISO 8601扩展格式的日期

 new Date(Date.now()).toISOString()

使用moment库转换回来

this.moment(new Date(Date.now()).toISOString()).format("YYYY-MM-DD")

 

 

 

js去掉富文本中html标签和图片

 filterHtmlTag(val) {
      if(!val){
        return false;
      }
      // 过滤掉富文本中的所有标签
      var filter = val
        .replace(/<(p|div)[^>]*>(<br\/?>| )<\/\1>/gi, "\n")
        .replace(/<br\/?>/gi, "\n")
        .replace(/<[^>/]+>/g, "")
        .replace(/(\n)?<\/([^>]+)>/g, "")
        .replace(/\u00a0/g, " ")
        .replace(/ /g, " ")
        .replace(/<\/?(img)[^>]*>/gi, "")
        .replace(/&/g, "&")
        .replace(/</g, "<")
        .replace(/>/g, ">")
        .replace(/'/g, "'")
        .replace(/"/g, '"')
        .replace(/<\/?.+?>/g, "");

      var filterOver =
        filter.length > 400 ? filter.slice(0, 400) + "..." : filter;
      return filterOver;
    },

 控制伪元素的显示隐藏,并且可以对伪元素添加点击事件

我们需要在css做这种处理

父元素添加:pointer-events: none; 伪元素添加:pointer-events: auto;

<div
                  @click="ele.unfoldButton=false"
                    v-html="
                      filterHtmlTag(ele.filterInfo) ||
                        filterHtmlTag(ele.labels[0].value)
                    "
                    class="text-part"
                    :class="ele.unfoldButton?'setButton':''"
                  ></div>






.text-part {
  height: 115px;
  background-color: rgb(242, 242, 242);
  padding: 10px;
  padding-bottom: 25px;
  overflow: hidden;
  position: relative;
  pointer-events: none;

}
.setButton::after {
    content: "V";
    position: absolute;
    pointer-events: auto;
    font-weight: bold;
    bottom: 5px;
    left: 50%;
    font-size: 20px;
    color: var(--mainColor);
    display: inline-block;
    width: 25px;
    height: 20px;
    line-height: 20px;
    cursor: pointer;
    border-radius: 50%;
    margin-right: 5px;
    margin-left: 5px;
    text-align: center;
  }

页面上渲染失败[object Promise]

172c675bcdc140ed826e31e7d1174bf1.png 

 代码里是这样写的

   
{{filterHtmlTag(ele.filterInfo, ele.unfoldButton)}}






 //改变文字颜色
    changeWordColor(str, stringPart) {
      str = str.replace(
        stringPart,
        '<span style="color: var(--mainColor);">' + stringPart + "</span>"
      );

      return str;
    },
   async filterHtmlTag(val, slice = false, searchStatus = this.openSearch) {
      if (!val) {
        return false;
      }
      // 过滤掉富文本中的所有标签
      var filter = val
        .replace(/<(p|div)[^>]*>(<br\/?>| )<\/\1>/gi, "\n")
        .replace(/<br\/?>/gi, "\n")
        .replace(/<[^>/]+>/g, "")
        .replace(/(\n)?<\/([^>]+)>/g, "")
        .replace(/\u00a0/g, " ")
        .replace(/ /g, " ")
        .replace(/<\/?(img)[^>]*>/gi, "")
        .replace(/&/g, "&")
        .replace(/</g, "<")
        .replace(/>/g, ">")
        .replace(/'/g, "'")
        .replace(/"/g, '"')
        .replace(/<\/?.+?>/g, "");
      // 是否折叠
      var filterOver =
        filter.length > 400 ? filter.slice(0, 400) + "..." : filter;
        //如果是搜索状态
      if (searchStatus) {

        filterOver =this.changeWordColor(filterOver, this.propertyValue);
        filter = this.changeWordColor(filter, this.propertyValue);

      }

      return slice ? filterOver : filter;
    },

最发现是方法中我写了async,这方法变成异步了,所以才这样输出了,所以啊兄弟们没用的东西一定要删了,使用的时候获取实时的数据,别用async,即可解决此异常

 将elementui的tab切换与走马灯结合起来

04396a56532c4ae69a4709c0e7f2933b.png

 

  <el-tabs v-model="activeItemId" @tab-click="handleClick">
          <!-- 循环 -->
          <el-tab-pane label="111" name="1"
            > <el-carousel
                        v-if="ele.dbValueVOS && ele.dbValueVOS.length !== 0"
                        ref="marquee"
                        @change="val => setContentInfo(val, index)"
                        trigger="click"
                        height="150px"
                        indicator-position="none"
                        :autoplay="false"
                        arrow="always"
                      >
                        <el-carousel-item
                          v-for="item in ele.dbValueVOS"
                          :key="item.id"
                        >
                          <h4>{{ item.propertyName }}</h4>
                        </el-carousel-item>
                      </el-carousel>



</el-tab-pane>
</el-tabs>









handleClick(tab, event) {
      // 点击tab切换,给走马灯部分指定下标
this.$refs.marquee[0].setActiveItem(this.activeItemId);
      //  // 将tab的下标指定为走马灯的下标
      // this.active = e // tab切换的下标

      //获取列表
      console.log(tab, event);
    },

 

修改JS数组中的一个对象的元素的值,其他对象的元素值都跟着变了

数组改完相应下标的的对象,其他下标数据也变了

使用$set给数组里的对象赋值,也改变了其他对象

vue $set 给数组集合对象赋值影响到其他元素

vue数据改变影响其他数据的问题

vue 变量赋值变量,两个变量就会互相影响

vue只是给一条数据赋值却影响到了其他数据

  setContentInfo(valIndex, parentIndex) {
      var {propertyValue} = this.reportList[parentIndex].dbValueVOS[valIndex];
     
      // TODO:给对象中的值赋值,走马灯切换后显示
      // this.$set(this.reportList[parentIndex], "filterInfo", propertyValue);


     
    },

离大谱了,就是个普通赋值,方法只调了一次,就算指定只给下标为0的数据赋值也影响到了其他数据

颠覆我的认知了,科学不存在了

 

 

解决方法如下,直接深拷贝一条,去给数组相应下标的整个对象替换

  setContentInfo(valIndex, parentIndex) {
      var {propertyValue} = this.reportList[parentIndex].dbValueVOS[valIndex];
      let realData =JSON.parse(JSON.stringify(this.reportList[parentIndex]));
      realData.filterInfo=propertyValue;
      // TODO:给对象中的值赋值,走马灯切换后显示
      // this.$set(this.reportList[parentIndex], "filterInfo", propertyValue);



         this.$set(this.reportList, parentIndex, realData);

      
    },

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/460965.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Shell编程规范与使用

一、Shell脚本概述 1&#xff09;Shell的作用——命令解释器&#xff0c;“翻译官” Linux 系统中的 Shell 是一个特殊的应用程序&#xff0c;它介于操作系统内核与用户之间&#xff0c;充当 了一个“命令解释器”的角色&#xff0c;负责接收用户输入的操作指令&#xff08;命…

接口协作--apipost接口协作工具

接口协作 apipost支持接口在线协作编辑功能&#xff0c;打开apipost创业一个团队&#xff0c;在创建一个项目。 在把需要一起协作的人员添加到团队中 在进行项目编辑把需要进行协作的人员拉取到项目中 之后在进入项目创建接口就可以进行接口协作了

scratch猫捉老鼠 少儿编程 电子学会图形化编程scratch编程等级考试二级真题和答案解析2023年3月

目录 scratch猫捉老鼠 一、题目要求 1、准备工作 2、功能实现 二、案例分析

kafka调试脚本的使用

创建名称为test的topic且副本数量3&#xff0c;partition数量6 /etc/kafka/kafka/bin/kafka-topics.sh --create --bootstrap-server 10.1.60.112:9092 --replication-factor 3 --partitions 6 --topic test 查看名称为test的topic信息 /etc/kafka/kafka/bin/kafka-topics.sh -…

uniapp微信小程序图片预览PreviewImage

一、说明 功能&#xff1a;点击图片预览大图&#xff0c;并且可以通过滑动查看不同图片的预览大图。 点击预览大图后&#xff1a; 二、上代码 参考uniapp官方文档 其提供了预览大图的函数uni.previewImage(OBJECT). //放大查看推荐图片enlargePicture(index) {console.log…

【Unity-ML】Unity机器学习(一)

安装环境&#xff1a;Windows10 Anaconda3(64-bit)&#xff0c;网上很多教程&#xff0c;例如这个anaconda下载及安装(保姆级教程) - 知乎anaconda包管理器和环境管理器&#xff0c;强烈建议食用 1.下载官网下载太慢可选用镜像下载 官网下载&#xff1a; Anaconda | Individua…

Softing FiberXpert 700光纤测试套件助力一级多模和单模光纤认证

FiberXpert 700是用于多模和单模的四路波长测试套件&#xff0c;不仅可以对光纤链路进行直观、灵活和快速地认证&#xff0c;而且可以导出数据报告。 测试网络安装以确保其符合指定标准的过程称为认证&#xff0c;并且这通常需要纸质文件作为符合标准的证明。而FiberXpert 700光…

Docker 的数据管理

一、Docker 的数据管理 管理 Docker 容器中数据主要有两种方式&#xff1a;数据卷&#xff08;Data Volumes&#xff09;和数据卷容器&#xff08;DataVolumes Containers&#xff09;。 1&#xff0e;数据卷 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿…

为什么说网络安全行业是IT的风口行业?

前言 2023年网络安全行业的前景看起来非常乐观。根据当前的趋势和发展&#xff0c;一些趋势和发展可能对2023年网络安全行业产生影响&#xff1a; 5G技术的广泛应用&#xff1a;5G技术的普及将会使互联网的速度更快&#xff0c;同时也将带来更多的网络威胁和安全挑战。网络安全…

eBPF技术介绍

前言 eBPF起源于linux内核&#xff0c;它可以以砂箱程序运行在操作系统内核的特权上下文&#xff0c;高效&#xff0c;安全&#xff0c;易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测&#xff0c;安全和网络功能的最理想的地方&#xff0c;因为内核的…

Vue基本的内置指令

前言 除了常见的v-bind,v-for,v-if,v-on.v-model等&#xff0c;本次学习一些vue提供的其他内置指令 1 v-text 给标签插入文本&#xff0c;类似于插值语法 它会把全部的字符串当成文本去解析,不会当成标签的,哪怕写的是标签结构 效果和插值语法是一样的 插值语法比v-text更加…

P1037 [NOIP2002 普及组] 产生数

题目描述 给出一个整数 &#xfffd;n 和 &#xfffd;k 个变换规则。 规则&#xff1a; 一位数可变换成另一个一位数。规则的右部不能为零。 例如&#xff1a;&#xfffd;234,&#xfffd;2n234,k2。有以下两个规则&#xff1a; 2⟶52⟶5。3⟶63⟶6。 上面的整数 23423…

SpringBoot的配置和日志

1.配置文件的作用和意义 配置文件中配置整个项目中所有重要的数据&#xff0c;比如&#xff1a; 1.数据库的连接信息&#xff08;包含用户名和密码的设置&#xff09;&#xff1b; 2.项目的启动端口&#xff1b; 3.第三方系统的调用秘钥等信息&#xff1b; 4.用于发现和定位问…

docker--harbor私有仓库部署与管理

目录 第一章.搭建本地私有仓库 1.1.下载 registry 镜像 1.2.运行 registry 容器 1.3.Docker容器的重启策略如下&#xff1a; 1.4.简单操作 第二章. Harbor 简介 2.1.什么是Harbor 2.2.Harbor的特性 2.3.Harbor的构成 第三章.部署服务 3.1.环境部署 3.2.部署 Docker…

USART串口协议和USART串口外设(USART串口发送串口发送和接收)

1、通信接口 • 通信的目的&#xff1a;将一个设备的数据传送到另一个设备&#xff0c;扩展硬件系统 • 通信协议&#xff1a;制定通信的规则&#xff0c;通信双方按照协议规则进行数据收发 异步&#xff1a;需要双方约定一个频率 2、 硬件电路 • 简单双向串口通信有两根通信…

基于springboot和ajax的简单项目 013 ztree插件使用,这是关于修改和新增的

先写写的是menu_list.html文件上的内容。 01.在自动加载函数上写点击事件 $(".input-group-btn").on("click",".btn-delete",doDeleteObject).on("click",".btn-add,.btn-update",doLoadEditUI);02.登录函数&#xff1a; …

30秒预测10天全球天气,上海人工智能实验室发布气象大模型“风乌”效果超DeepMind

4月7日&#xff0c;上海人工智能实验室联合中国科学技术大学、上海交通大学、南京信息工程大学、中国科学院大气物理研究所及上海中心气象台发布全球中期天气预报大模型“风乌”。基于多模态和多任务深度学习方法构建&#xff0c;AI大模型“风乌”首次实现在高分辨率上对核心大…

Speech and Language Processing-导读

朋友们&#xff0c;最近打算做一个大工程&#xff0c;我曾多次提过&#xff0c;chatgpt未来将是一股非常大的信息技术革命&#xff0c;有的人不以为然&#xff0c;或者国内很多企业好像并不是很重视&#xff0c;以我从业多年来的经验&#xff0c;chatgpt与之前的NLP技术有着较为…

【jenkins学习】windows环境下部署与设置中文显示

准备&#xff1a; jenkins安装包&#xff1a; https://www.jenkins.io/zh/download/ Java 17安装包&#xff1a; https://www.oracle.com/java/technologies/downloads/#jdk17-windows 1、jdk安装 不建议放在C盘&#xff0c;自定义一个不含中文的路径&#xff0c;安装即可 配置…

轻松掌握K8S目录持久卷PV/PVC的kubectl操作知识点04

1、介绍 在docker中可以将容器中的目录挂载出来&#xff0c;在k8s中pod可以部署在不同节点&#xff0c;假如该节点的机器宕机了&#xff0c;k8s可能就会将此Pod转移到其他机器&#xff0c;就不是原先的机器了。k8s有自己的一套挂载方案&#xff0c;如下图所示&#xff0c; 原…