web学习笔记(六十七)项目总结

目录

1.使用弹性布局来实现元素水平垂直居中

[2. 实现vant组件样式穿透](#2. 实现vant组件样式穿透)

3.通过请求返回的数据动态设置类名

4.设置元素溢出隐藏为省略号

[5. z-index的使用](#5. z-index的使用)

6.利用弹性布局实现横向滚动

7.盒子内的两个元素无法实现底部对齐

8.如何设置文本显示两行,且在第二行结尾处实现溢出隐藏的省略号

9.如何实现按下回车触发对应的事件

10.如何解决跨域的问题

11.接口返回数据是数组和对象的区别

12.如何实现点击商品跳转到对应的页面


1.使用弹性布局来实现元素水平垂直居中

css 复制代码
 display: flex;
  justify-content: center;
  align-items: center;

2. 实现vant组件样式穿透

通常我们组件的标签名就是默认的样式名,可以拿来进行组件穿透,或者在控制台进行检查,然后复制类名进行样式穿透,如果设置样式穿透不起效的话可以尝试在外层再包裹父元素的样式穿透。

css 复制代码
::v-deep(.van-sidebar-item) {
  height: 1.3333rem;
  width: 2.2933rem;
  color: #333;
  font-size: 0.3467rem;
}

3.通过请求返回的数据动态设置类名

我们可以通过判断请求返回数据的某一项是否等于某个值来设置类名。

html 复制代码
      <div :class="{
                  Receivediv: true,
                  isvip: item.receive_type == 4,
                  isuse: item.is_use == 1
                }"></div>

4.设置元素溢出隐藏为省略号

javascript 复制代码
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;

5. z-index的使用

z-index需要搭配定位使用,通常搭配相对定位使用。

javascript 复制代码
.bardiv {
  position: relative;
  z-index: 3000;
}

6.利用弹性布局实现横向滚动

css 复制代码
.couposdiv {
  width: 9.4667rem;
  height: 1.6267rem;
  display: flex;
  flex-wrap: nowrap;//不换行
  overflow-x: scroll;//x方向滚动
}

7.盒子内的两个元素无法实现底部对齐

在排版时如果个别元素总是无法到达理想的位置,此时可以使用transform: translateX(-0.2rem) translateY(0.2667rem);进行微调。

8.如何设置文本显示两行,且在第二行结尾处实现溢出隐藏的省略号

css 复制代码
   .textdiv {
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      word-wrap: break-word;
      word-break: break-all;
      white-space: normal;
      overflow: hidden;
      font-size: 14px;
      color: #282828;
    }

9.如何实现按下回车触发对应的事件

javascript 复制代码
<div  @keydown.enter="searcheventone"></div>
  <!-- 当需要阻止冒泡时可以直接在时间名后加.stop -->
<div  @keydown.enter.stop="searcheventtwo"></div>

10.如何解决跨域的问题

在vite.config.js页面中配置跨域代码。

javascript 复制代码
server: {//这是一个对象,用于配置服务器的选项。
        proxy: {// 这是服务器代理的配置项,用于指定代理规则。
        //   /api表示服务器要监听的前端请求接口路径,监听的是路径开头,不包含域名和端口。整体意思是:代理服务器监听接口路径是否以/api开头的,是就走这个代理服务器,解决跨域。不是以/api开头就不走代理服务器
            // 浏览器发请求,如果没有携带域名,默认浏览器会把当前服务器域名加上,当前域名是http://localhost::5173
          "/api": {//这是一个路径匹配规则,表示所有以"/api"开头的请求都将被代理到目标服务器。
            target: "https://v5.crmeb.net/",//目标域名:代理服务器localhost::5173换成target域名,服务器之间的请求时不存在跨域的。   这是目标服务器的地址,所有匹配到的请求将被转发到这个地址。
            changeOrigin: true,//允许切换域名   这个选项指定是否改变请求头中的"Origin"字段为目标服务器的地址。这通常用于解决跨域请求时的一些问题,允许请求头中的Origin与目标服务器的地址不一致。
            }
        },
      }

11.接口返回数据是数组和对象的区别

(1)当接口返回数据是数组时可以用v-for进行遍历,当返回数据是对象时也可以进行遍历,注意当遍历对象时就不可以写index了,需要遍历key,然后用来绑定key。

(2)当返回数据是对象在页面使用时直接打点调用对应属性即可,不需要再遍历使用item来进行操作(会报错)。

12.如何实现点击商品跳转到对应的页面

这个地方要用到路由传参,有两种方式,可以去复习一下笔记六十四,这里我们用到的是路由传参query。首先在首页给商品设置点击事件

javascript 复制代码
import { useRouter } from 'vue-router'
// useRouter 跳转页面 useRoute传参
const router = useRouter() //获取路由对象。调用方法跳转
const getDetail = (id) => {
  router.push(`/derail?id=${id}`)
}

然后在商品详情页通过query来获取对应的id,通过id再去发请求。

javascript 复制代码
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.query.id)
相关推荐
go2coding2 分钟前
开源 复刻GPT-4o - Moshi;自动定位和解决软件开发中的问题;ComfyUI中使用MimicMotion;自动生成React前端代码
前端·react.js·前端框架
freesharer21 分钟前
Zabbix 配置WEB监控
前端·数据库·zabbix
web前端神器22 分钟前
forever启动后端服务,自带日志如何查看与设置
前端·javascript·vue.js
才艺のblog24 分钟前
127还是localhost....?
javascript·https·浏览器特性
是Yu欸27 分钟前
【前端实现】在父组件中调用公共子组件:注意事项&逻辑示例 + 将后端数组数据格式转换为前端对象数组形式 + 增加和删除行
前端·vue.js·笔记·ui·vue
youyoufenglai35 分钟前
【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十)
笔记·学习·鸿蒙
今天是 几 号37 分钟前
WEB攻防-XSS跨站&反射型&存储型&DOM型&标签闭合&输入输出&JS代码解析
前端·javascript·xss
A-超1 小时前
html5 video去除边框
前端·html·html5
杂鱼Tong1 小时前
13. Revit API: Filter(过滤器)
笔记
进击的阿三姐1 小时前
vue2项目迁移vue3与gogocode的使用
前端·javascript·vue.js