vue商城项目学习实战第二篇

1、商城中间body部门代码实现,我们可以单独创建一个新的组件Home.vue,div标签中引入版心类,这样版心都是1200;具体实现如下图

1.1、tabBar部分代码

        <div class="tabBar">
            <div class="tab">
                <a href="#">首页</a></div>
            <div class="phone">
                <span>></span>
                <div><a href="#">手机</a></div>
            </div>
        </div>

1.2、tabList部分代码

        <div class="tabList">
            <div class="classifyPhone">
                <div class="classify">分类 :</div>
                <div class="phoneList">
                    <div class="box">
                        <span><a href="#">手机</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">畅享系列</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">nova系列</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">P系列</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">Mate系列</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">二手机</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">华为官方翻新</a></span>
                    </div>
                    <div class="box">
                        <span><a href="#">Pocket系列</a></span>
                    </div>
                    <div class="moreInfo">
                        <div>更多</div>
                        <div>
                            <img src="https://res.vmallres.com/portal/1.24.2.300.Re.20240204175745/h5/images/icon-open.png">
                        </div>
                    </div>
                </div>
            </div>
            <div class="classifyService">
                <div class="service">服务优惠 :</div>
                <div class="available">仅看有货</div>
            </div>
            <div class="classifyProvide">
                <div class="orderTitle">排序 :</div>
                <div class="queryItem">
                    <div class="comprehensive"> <a href="#">综合</a></div>
                    <div class="new"> <a href="#">最新</a></div>
                    <div class="comments"> <a href="#">评论数</a></div>
                    <div class="price">
                        <div class="priceText">价格</div>
                        <div class="inputPrice">
                            <div class="priceOne">
                                <div class="tag">¥</div>
                                <input type="text">
                            </div>
                            <div>-</div>
                            <div class="priceTwo">
                                <div class="tag">¥</div>
                                <input type="text">
                            </div>
                        </div>
                    </div>
                </div>
                
            </div>
        </div>

1.3、productList部分代码

        <div class="productList">
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202402/gbom/6942103116261/800_800_13C707C7E44C89BAC152465D56B3417Emp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            HUAWEI Pocket 2
                        </div>
                        <div class="detail otw">
                            超平整超可靠,全焦段XMAGE四摄,紫外防晒检测
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥8999</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">2605人评价</div>
                                <div class="goodCommet">99%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202402/gbom/6942103115608/800_800_4B8E8433B2D271853979CD701B88580Dmp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            华为畅享 70z
                        </div>
                        <div class="detail otw">
                            6000mAh大电池 长续航,HarmonyOS 4 流畅安全,6.75英寸护眼大屏
                        </div>
                        <div class="Ttag2">
                            <div class="Tmin">限时直降100元</div>
                            <div class="Tscore2">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥1299</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">549人评价</div>
                                <div class="goodCommet">99%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202312/gbom/6942103112119/800_800_6C345C873DBC15A1005E79E1D4B6645Amp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            nova 12 Pro
                        </div>
                        <div class="detail otw">
                            前置6000万人像追焦双摄,鸿蒙智慧通信,物理可变光圈
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥4399</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">3212人评价</div>
                                <div class="goodCommet">98%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202401/gbom/6942103111051/800_800_9251FDF9C7662C424900489AB1C88F2Amp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            华为畅享 70 Pro
                        </div>
                        <div class="detail otw">
                            1亿像素超清影像,HarmonyOS 4,5000mAh大电池 长续航
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥1699</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">1638人评价</div>
                                <div class="goodCommet">96%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202312/gbom/6942103114014/800_800_DACD4B8DD7D6127ED11DD9CC871597A7mp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            nova 12
                        </div>
                        <div class="detail otw">
                            鸿蒙智慧通信,100W智能快充Turbo,前置6000万4K超广角人像
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥3399</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">6335人评价</div>
                                <div class="goodCommet">98%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202312/gbom/6942103114670/800_800_C2617EA437BD279D14CA8177889EB971mp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            nova 12 活力版
                        </div>
                        <div class="detail otw">
                            6.88mm超薄潮美直屏,前置6000万超广角拍照,后置5000万超感知影像
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                            <!-- <div class="Tminc">限时赠</div> -->
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥2499</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">1960人评价</div>
                                <div class="goodCommet">97%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202312/gbom/6942103115943/800_800_0B6CE4EB0153397441136CB224C26D4Bmp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>新品</span>
                            </div>
                            nova 12 Ultra
                        </div>
                        <div class="detail otw">
                            前置6000万人像追焦双摄,鸿蒙智慧通信,物理可变光圈
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥4699</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">1393人评价</div>
                                <div class="goodCommet">97%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="box">
                <div class="productImage">
                    <div class="phoneImage">
                        <img src="https://res.vmallres.com/pimages/uomcdn/CN/pms/202403/gbom/6942103107719/800_800_5818B6A12914274ED24FB8FE47F1CD34mp.png"/>
                    </div>
                </div>
                <div class="productDetail">
                    <div class="ptext">
                        <div class="pTitle">
                            <div class="newPro">
                                <span>价保318</span>
                            </div>
                            Mate 60
                        </div>
                        <div class="detail otw">
                            超可靠玄武架构,全焦段超清影像,超强灵犀通信,双向北斗卫星消息
                        </div>
                        <div class="Ttag">
                            <div class="Tscore">赠积分</div>
                        </div>
                    </div>
                    <div class="sumPrice">
                        <div class="pp">
                            <div class="pprice">
                                <div class="money">¥5999</div>
                            </div>
                            <div class="pcommet">
                                <div class="personCommet">30548人评价</div>
                                <div class="goodCommet">99%好评</div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>

以上就是body部分代码实现

2、body代码应用样式,样式也分为以下几部分

2.1、tabBar部分代码

/* home tabBar页 */
.tabBar {
  height: 65px;
  width: auto;
  display: flex;
}

.tabBar .tab {
  line-height: 65px;
  font-size: 12px;
  /* color: rgb(155, 150, 150); */
}

.tabBar .tab a {
  line-height: 65px;
  font-size: 12px;
  color: rgb(155, 150, 150);
}

.tabBar .phone {
  display: flex;
  line-height: 65px;
  font-size: 12px;
}

2.2、tabList部分代码

/* home tabList页 */
.tabList {
  height: 150px;
  background-color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}

.tabList .classifyPhone {
  display: flex;
  justify-content: space-around;
}

.tabList .classifyPhone .classify {
  font-size: 12px;
  flex: 0.6;
  width: 104px;
  height: 48px;
  color: rgb(155, 150, 150);
  padding-left: 24px;
  line-height: 48px;
}

.tabList .classifyPhone .phoneList {
  display: flex;
  justify-content: space-between;
  flex: 5;
  font-size: 12px;
  line-height: 48px;
}

.tabList .classifyPhone .phoneList .box {
  width: 104px;
  height: 48px;
  font-size: 12px;
}

.tabList .classifyPhone .phoneList .moreInfo {
  display: flex;
  font-size: 12px;
  margin-right: 40px;
}

.tabList .classifyService {
  display: flex;
}

.tabList .classifyService .service {
  flex: 0.6;
  font-size: 12px;
  color: rgb(155, 150, 150);
  padding-left: 24px;
  height: 48px;
  line-height: 48px;
}

.tabList .classifyService .available {
  flex: 5;
  font-size: 12px;
  height: 48px;
  line-height: 48px;
}

.tabList .classifyProvide {
  display: flex;
  font-size: 12px;
  justify-content: space-between;
}

.tabList .classifyProvide .orderTitle {
  display: flex;
  font-size: 12px;
  justify-content: space-between;
  color: rgb(155, 150, 150);
  padding-left: 24px;
  height: 48px;
  flex: 0.6;
  line-height: 48px;
}

.tabList .classifyProvide .queryItem {
  display: flex;
  flex: 5;
  justify-content: flex-start;
  line-height: 48px;
}

.tabList .classifyProvide .comprehensive {
  width: 112px;
  height: 48px;
  line-height: 48px;
}

.tabList .classifyProvide .new {
  width: 112px;
  height: 48px;
  line-height: 48px;
}

.tabList .classifyProvide .comments {
  width: 112px;
  height: 48px;
  line-height: 48px;
}

.tabList .classifyProvide .queryItem .price {
  display: flex;
  height: 48px;
  justify-content: flex-start;
  flex-direction: row;
}

.tabList .classifyProvide .queryItem .priceText {
  height: 48px;
  /* width: 168px; */
  font-size: 12px;
}

.tabList .classifyProvide .queryItem .inputPrice {
  display: flex;
}

.tabList .classifyProvide .price .priceOne {
  display: flex;
  flex-direction: row;
}

.tabList .classifyProvide .price .priceOne .tag {
  display: inline;
  padding-left: 5px;
}

.tabList .classifyProvide .price input {
  width: 68px;
  height: 20px;
  margin-top: 12px;
}

input[type=text]:focus {
  outline: none;
}

.tabList .classifyProvide .price .priceTwo {
  display: flex;
  flex-direction: row;
}

2.3、productList部分代码

/* 手机产品 */
.productList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 30px;
  margin-bottom: 50px;
}

.productList .box {
  width: 291px;
  height: 410px;
  border: 1px solid ghostwhite;
  background-color: rgb(255, 255, 255);
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  margin-bottom: 10px;
}

.productList .box .productImage {
  width: 291px;
  height: 254px;
}

.productList .box .productImage .phoneImage img {
  width: 180px;
  height: 192px;
  margin: 21px 21px 55px 55px;
}

.productList .box .productDetail {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 291px;
  height: 156px;
}

.productList .box .productDetail .ptext {
  display: flex;
  flex-direction: column;
}

.productList .box .productDetail .ptext .pTitle {
  display: flex;
  flex-direction: row;
  justify-content: center;
  font-size: 16px;
}

.productList .box .productDetail .ptext .pTitle .newPro {
  text-align: center;
  margin-right: 5px;
  border-radius: 5px;
}

.productList .box .productDetail .ptext .pTitle span {
  font-size: 12px;
  color: white;
  background-color: red;
  border-radius: 5px;
  padding: 0px 3px;
  line-height: 19px;

}

.productList .box .productDetail .ptext .detail {
  font-size: 13px;
  color: rgb(155, 150, 150);
  text-align: center;
  padding: 5px 5px 24px 24px;
  height: 18px;
}

.productList .box .productDetail .ptext .Ttag {
  display: flex;
  width: 50px;
  height: 17px;
  justify-content: center;
  margin-left: 120px;
}

.productList .box .productDetail .ptext .Ttag .Tscore {
  font-size: 12px;
  border: 1px solid black;
  width: 44px;
  height: 16px;
  text-align: center;
  border-radius: 5px;
}

.productList .box .productDetail .ptext .Ttag2 {
  display: flex;
  width: 151px;
  height: 34px;
  justify-content: center;
  margin-left: 70px;
}

.productList .box .productDetail .ptext .Ttag2 .Tscore2 {
  font-size: 12px;
  border: 1px solid black;
  width: 44px;
  height: 16px;
  text-align: center;
  border-radius: 5px;
}

.productList .box .productDetail .ptext .Ttag2 .Tmin {
  font-size: 12px;
  border: 1px solid black;
  width: 84px;
  height: 16px;
  text-align: center;
  border-radius: 5px;
  margin-right: 5px;
  color: red;
}

.productList .box .productDetail .sumPrice {
  display: flex;
  flex-direction: column;
}

.productList .box .productDetail .sumPrice .pp {
  display: flex;
  flex-direction: column;
}

.productList .box .productDetail .sumPrice .pp .pprice {
  display: flex;
}

.productList .box .productDetail .sumPrice .pp .pprice .money {
  font-size: 16px;
  justify-content: center;
  margin-bottom: 5px;
  margin-left: 120px;
}

.productList .box .productDetail .sumPrice .pp .pcommet {
  display: flex;
  justify-content: center;
  margin-bottom: 15px;
}

.productList .box .productDetail .sumPrice .pp .pcommet .personCommet {
  font-size: 12px;
  color: rgb(155, 150, 150);
  margin-right: 8px;
}

.productList .box .productDetail .sumPrice .pp .pcommet .goodCommet {
  font-size: 12px;
  color: rgb(155, 150, 150);
}

以上是body部分所有样式

3、Home.vue组件挂到根组件APP.vue下面

<template>
  <div>
    <Header></Header>
    <Home></Home>
  </div>
</template>

<script>
import Header from './components/Header.vue'
import Home from './components/Home.vue'

export default {
  name: 'App',
  components: {
    Header,Home
  }
}
</script>

运行npm run serve 可看见body部分效果

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue京东商城项目实战是一个基于Vue.js开发的实际项目,旨在帮助开发者学习和实践Vue.js框架的使用。该项目的目标是搭建一个类似于京东商城的电商网站,涵盖了商品展示、购物车、订单管理等功能模块。 在这个项目中,你可以学习到如何使用Vue.js的核心概念,包括组件化、路由、状态管理等。同时,你还可以了解到常见的电商网站开发流程和技术选型。 具体来说,你可以按照以下步骤进行Vue京东商城项目实战: 1. 设计项目架构:确定项目的目录结构和模块划分,选择合适的UI框架(如Element UI)。 2. 构建商品展示页面:通过API获取商品数据,使用Vue组件展示商品列表,支持商品搜索和筛选功能。 3. 实现购物车功能:使用Vuex管理购物车数据,实现添加、删除和更新购物车商品的功能,并计算购物车总价。 4. 完善用户登录与注册:设计用户登录和注册页面,使用Vue Router实现页面跳转和权限控制。 5. 实现订单管理:创建订单页面,支持用户下单、查看订单详情等功能。 6. 集成支付功能:使用第三方支付平台的SDK,实现用户支付功能。 7. 优化和部署:对项目进行性能优化,如代码分割、懒加载等,并将项目部署到服务器上。 通过完成这个项目,你可以对Vue.js的开发流程和技巧有更深入的了解,并且掌握基于Vue.js开发实际项目的能力。希望对你有帮助!如果有更多问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值