【vue3.0】25.0 某东到家( 廿五)——真机调试

2023-12-16 05:30

本文主要是介绍【vue3.0】25.0 某东到家( 廿五)——真机调试,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

真机联调方式

一种方式是手机和电脑连同一个局域网,也就是同一个WiFi
运行项目会在终端显示ip连接的地址:

image.png

因为目前我的是手机热点,需下面的方式:
如果是手机开热点给电脑用,可以win+R键输入ipconfig查询本机ip,然后在手机浏览器上直接打开ip:8080即可

image.png

比如我的就是需要访问 192.168.24.113::8080
image.png
image.png
image.png
image.png
image.png
image.png

这里可以看到购物车的加减号有点问题。
首先需要准备2个图标:
image.png

调整 src\views\shop\Content.vue
<template><div class="content"><div class="category"><div:class="{category__item: true,'category__item--active': currentTab === item.tab}"v-for="item in categories":key="item.tab"@click="handleTabClick(item.tab)">{{ item.name }}</div></div><div class="product"><div class="product__item" v-for="item in list" :key="item._id"><img class="product__item__img" :src="item.imgUrl" /><div class="product__item__detail"><h4 class="product__item__title">{{ item.name }}</h4><p class="product__item__sales">月售{{ item.sales }}件</p><p class="product__item__price"><span class="product__item__yen"> &yen;{{ item.price }} </span><span class="product__item__origin"> &yen;{{ item.oldPrice }} </span></p></div><div class="product__number"><spanclass="product__number__minus"@click="() => {changeCartItem(shopId, item._id, item, -1, shopName)}"><i class="custom-icon custom-icon-reduce"></i></span>{{ getProductCartCount(shopId, item._id) }}<spanclass="product__number__plus"@click="() => {changeCartItem(shopId, item._id, item, 1, shopName)}"><i class="custom-icon custom-icon-add"></i></span></div></div></div></div>
</template><script>
......
</script><style lang="scss" scoped>@import '@/style/viriables.scss';@import '@/style/mixins.scss';.content {display: flex;position: absolute;left: 0;right: 0;top: 1.6rem;bottom: 0.5rem;}.category {overflow-y: scroll;width: 0.76rem;background: $search-bg-color;height: 100%;&__item {line-height: 0.4rem;text-align: center;font-size: 0.14rem;color: $content-font-color;&--active {background: $bg-color;}}}.product {overflow-y: scroll;flex: 1;&__item {position: relative;display: flex;padding: 0.12rem 0.16rem;margin: 0 0.16rem;border-bottom: 0.01rem solid $content-bg-color;// 配合解决超出长度以省略号显示而不会出现换行&__detail {overflow: hidden;}&__img {width: 0.68rem;height: 0.68rem;margin-right: 0.16rem;}&__title {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $content-font-color;// 超出长度以省略号显示而不会出现换行@include ellipsis;}&__sales {margin: 0.06rem 0;line-height: 0.16rem;font-size: 0.12rem;color: $content-font-color;}&__price {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $height-light-font-color;}&__yen {font-size: 0.12rem;}&__origin {margin-left: 0.06rem;line-height: 0.2rem;font-size: 0.12rem;color: $light-font-color;text-decoration: line-through; //中划线}// 购物车选购数量和加减号.product__number {position: absolute;right: 0rem;bottom: 0.12rem;line-height: 0.18rem;// 边框白色&__minus {position: relative;top: 0.01rem;color: $medium-font-color;margin-right: 0.05rem;}//无边框,背景蓝色&__plus {position: relative;top: 0.01rem;color: $btn-bg-color;margin-left: 0.05rem;}}}}
</style>

调整src\views\shop\Cart.vue

<template><!-- 蒙层 --><div class="mask" v-if="showCart && calculations.total > 0" @click="handleCartShowChange"></div><div class="cart"><div class="product" v-show="showCart && calculations.total > 0"><div class="product__header"><div class="product__header__all" @click="setCartItemsChecked(shopId)"><i:class="['product__header__all__icon','custom-icon',calculations.isAllChecked? 'custom-icon-radio-checked': 'custom-icon-radio-unchecked']"></i><span class="product__header__all__text">全选</span></div><div class="product__header__clear"><span class="product__header__clear__btn" @click="cleanCartProducts(shopId)">清空购物车</span></div></div><div class="product__item" v-for="item in productList" :key="item._id"><div class="product__item__checked" @click="changeCartItemChecked(shopId, item._id)"><i:class="['custom-icon',item.checked == true ? 'custom-icon-radio-checked' : 'custom-icon-radio-unchecked']"></i></div><img class="product__item__img" :src="item.imgUrl" /><div class="product__item__detail"><h4 class="product__item__title">{{ item.name }}</h4><p class="product__item__price"><span class="product__item__yen"> &yen;{{ item.price }} </span><span class="product__item__origin"> &yen;{{ item.oldPrice }} </span></p></div><div class="product__number"><spanclass="product__number__minus"@click="() => {0changeCartItemInfo(shopId, item._id, item, -1)}"><i class="custom-icon custom-icon-reduce"></i></span>{{ getProductCartCount(shopId, item._id) }}<spanclass="product__number__plus"@click="() => {changeCartItemInfo(shopId, item._id, item, 1)}"><i class="custom-icon custom-icon-add"></i></span></div></div></div><div class="check"><div class="check__icon" @click="handleCartShowChange"><img src="/i18n/9_16/img/basket.png" alt="" class="check__icon__img" /><div class="check__icon__tag">{{ calculations.total }}</div></div><div class="check__info">总计:<span class="check__info__price">&yen; {{ calculations.totalPrice }}</span></div><div class="check__btn" v-show="calculations.totalPrice > 0"><router-link :to="{ path: `/orderConfirmation/${shopId}` }"> 去结算 </router-link></div></div></div>
</template><script>
......
</script>
<style lang="scss" scoped>@import '@/style/viriables.scss';@import '@/style/mixins.scss';.mask {position: fixed;left: 0;right: 0;bottom: 0;top: 0;background: rgba(0, 0, 0, 0.5);z-index: 1;}.cart {position: absolute;left: 0;right: 0;bottom: 0;z-index: 2;background: $bg-color;}.product {overflow-y: scroll;flex: 1;background: $bg-color;&__header {display: flex;line-height: 0.52rem;border-bottom: 0.01rem solid $content-bg-color;font-size: 0.14rem;color: $content-font-color;&__all {width: 0.64rem;margin-left: 0.18rem;&__icon {display: inline-block;vertical-align: top;font-size: 0.2rem;margin-right: 0.05rem;color: $btn-bg-color;}&__text {display: inline-block;margin-left: 0.04rem;line-height: 0.52rem;}}&__clear {flex: 1;text-align: right;margin-right: 0.16rem;&__btn {display: inline-block;}}}&__item {position: relative;display: flex;padding: 0.12rem 0.16rem;margin: 0 0.16rem;border-bottom: 0.01rem solid $content-bg-color;&__checked {line-height: 0.5rem;margin-right: 0.2rem;color: $btn-bg-color;i {font-size: 0.25rem;}}// 配合解决超出长度以省略号显示而不会出现换行&__detail {overflow: hidden;}&__img {width: 0.46rem;height: 0.46rem;margin-right: 0.16rem;}&__title {margin: 0;line-height: 0.2rem;font-size: 0.14rem;color: $content-font-color;// 超出长度以省略号显示而不会出现换行@include ellipsis;}&__price {margin: 0.06rem 0 0 0;line-height: 0.2rem;font-size: 0.14rem;color: $height-light-font-color;}&__yen {font-size: 0.12rem;}&__origin {margin-left: 0.06rem;line-height: 0.2rem;font-size: 0.12rem;color: $light-font-color;text-decoration: line-through; //中划线}// 购物车选购数量和加减号.product__number {position: absolute;right: 0rem;line-height: 0.18rem;bottom: 0.26rem;// 边框白色&__minus {position: relative;top: 0.01rem;color: $medium-font-color;margin-right: 0.05rem;}//无边框,背景蓝色&__plus {position: relative;top: 0.01rem;color: $btn-bg-color;margin-left: 0.05rem;}}}}.check {display: flex;box-sizing: border-box; //往内塞入borderline-height: 0.49rem;height: 0.49rem;border-top: 0.01rem solid $content-bg-color;&__icon {width: 0.84rem;position: relative;&__img {margin: 0.12rem auto;display: block;width: 0.28rem;height: 0.28rem;}&__tag {// 乘以2然后等比例缩小position: absolute;left: 0.46rem;top: 0.04rem;padding: 0 0.04rem;min-width: 0.2rem;height: 0.2rem;line-height: 0.2rem;text-align: center;background-color: $height-light-font-color;border-radius: 0.1rem;font-size: 0.12rem;color: $bg-color;transform: scale(0.5);transform-origin: left center;}}&__info {flex: 1;color: $content-font-color;font-size: 0.12rem;&__price {line-height: 0.49rem;color: $height-light-font-color;font-size: 0.18rem;}}&__btn {width: 0.98rem;background-color: #4fb0f9;text-align: center;color: $bg-color;font-size: 0.14rem;// 去掉a标签的下划线a {color: $bg-color;text-decoration: none; //去掉文本修饰}}}
</style>

修改src\views\orderConfirmation\TopArea.vue

......
<style lang="scss" scoped>@import '@/style/viriables.scss';.top {position: relative;height: 1.96rem;background-size: 100% 1.59rem;/* 渐变轴为0度,相当于从下到上,高度4%位置从rgba(0, 145, 255, 0) 开始渐变到高度50%位置的蓝色(#0091ff)结束 */background-image: linear-gradient(0deg, rgba(0, 145, 255, 0) 4%, $btn-bg-color 50%);background-repeat: no-repeat;&__header {position: relative;padding-top: 0.26rem;line-height: 0.24rem;color: $bg-color;text-align: center;font-size: 0.16rem;&__back {position: absolute;font-size: 0.22rem;left: 0.18rem;}}&__receiver {position: absolute;left: 0.18rem;right: 0.18rem;bottom: 0rem;height: 1.11rem;background: $bg-color;border-radius: 0.04rem;&__title {line-height: 0.22rem;padding: 0.16rem 0 0.14rem 0.16rem;font-size: 0.16rem;color: $content-font-color;}&__address {line-height: 0.2rem;padding: 0 0.4rem 0 0.16rem;font-size: 0.16rem;color: $content-font-color;}&__info {padding: 0.06rem 0 0 0.16rem;&__name &__phone {margin-right: 0.1rem;line-height: 0.18rem;font-size: 0.12rem;color: $content-font-color;}}&__icon {//旋转180度transform: rotate(180deg);position: absolute;right: 0.16rem;top: 0.53rem;font-size: 0.16rem;color: $medium-font-color;}}}
</style>

http://www.taodudu.cc/news/show-8391075.html

相关文章:

  • [乡土民间故事_徐苟三传奇]第廿五回_请课酒计耍刘财主
  • 运营四十二章经(廿五)---知乎的盈利方式
  • OpenCV + CPP 系列(廿五)模板匹配(Template Match)
  • Unity热更新方案C#Like(廿五)-实战:示范如何建立初始包CSharpLikeFreeDemo项目
  • 5月14日第壹简报,星期日,农历三月廿五
  • 69家中国企业闯入全球500强 数量超日本排第二
  • 怎样让excel中的文字旋转一定的角度?
  • 安卓实现文字(TextView)旋转,包括文字角标
  • 51单片机编译警告笔记一(WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS)
  • WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
  • 米安网python培训
  • 米安代码审计 06 PHPYUN V3.0 任意文件上传漏洞
  • 米安代码审计 08 ThinkSNS 垂直平行越权
  • 米安代码审计 05 文件上传漏洞
  • 米安代码审计 07 越权漏洞
  • 米安代码审计 01 php.ini 安全配置
  • 米安代码审计 03 文件解析漏洞
  • 每个人心中都有片极乐净土——leo读《监控》
  • 基于视觉AI算法的周界防范边缘计算网关
  • 几种常见的周界报警方案原理对比
  • 科普:周界泄漏电缆系统的工作原理以及系统特点
  • IOTOS物联中台开发驱动支持精华隆周界子系统设备
  • tps协议和onvif协议_近海风电场项目视频监控及周界安全防范系统设备技术协议...
  • 全球及中国综合周界安全系统行业调查研究及前景投资分析报告2021年版
  • EZStation3.0画面不显示周界功能智能标记框
  • 程序员这样「赚外快」,被判一年九个月
  • 判断某一年的某个月的天数
  • 3D游戏编程_作业三_牧师与魔鬼
  • Stage.3 —— 太阳系
  • 使用python模块nmap,读取excel数据对多个ip端口探活扫描
  • 这篇关于【vue3.0】25.0 某东到家( 廿五)——真机调试的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



    http://www.chinasem.cn/article/499272

    相关文章

    部署Vue项目到服务器后404错误的原因及解决方案

    《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

    前端原生js实现拖拽排课效果实例

    《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

    CSS弹性布局常用设置方式

    《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

    CSS3中使用flex和grid实现等高元素布局的示例代码

    《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

    css渐变色背景|<gradient示例详解

    《css渐变色背景|<gradient示例详解》CSS渐变是一种从一种颜色平滑过渡到另一种颜色的效果,可以作为元素的背景,它包括线性渐变、径向渐变和锥形渐变,本文介绍css渐变色背景|<gradien... 使用渐变色作为背景可以直接将渐China编程变色用作元素的背景,可以看做是一种特殊的背景图片。(是作为背

    CSS自定义浏览器滚动条样式完整代码

    《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...

    css实现图片旋转功能

    《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo

    使用C/C++调用libcurl调试消息的方式

    《使用C/C++调用libcurl调试消息的方式》在使用C/C++调用libcurl进行HTTP请求时,有时我们需要查看请求的/应答消息的内容(包括请求头和请求体)以方便调试,libcurl提供了多种... 目录1. libcurl 调试工具简介2. 输出请求消息使用 CURLOPT_VERBOSE使用 C

    vue基于ElementUI动态设置表格高度的3种方法

    《vue基于ElementUI动态设置表格高度的3种方法》ElementUI+vue动态设置表格高度的几种方法,抛砖引玉,还有其它方法动态设置表格高度,大家可以开动脑筋... 方法一、css + js的形式这个方法需要在表格外层设置一个div,原理是将表格的高度设置成外层div的高度,所以外层的div需要

    Vue项目中Element UI组件未注册的问题原因及解决方法

    《Vue项目中ElementUI组件未注册的问题原因及解决方法》在Vue项目中使用ElementUI组件库时,开发者可能会遇到一些常见问题,例如组件未正确注册导致的警告或错误,本文将详细探讨这些问题... 目录引言一、问题背景1.1 错误信息分析1.2 问题原因二、解决方法2.1 全局引入 Element