返回顶部
首页 > 资讯 > 前端开发 > VUE >Vue.js如何搭建移动端购物车界面
  • 397
分享到

Vue.js如何搭建移动端购物车界面

2024-04-02 19:04:59 397人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关vue.js如何搭建移动端购物车界面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文介绍了如何使用Vue搭建一个移动端购物车界面,最终实现的

这篇文章将为大家详细讲解有关vue.js如何搭建移动端购物车界面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

本文介绍了如何使用Vue搭建一个移动端购物车界面,最终实现的功能包括:

1. 选择要最终购买的物品
2. 选择每件物品购买的数量
3.  实时更新所选择物品的总价格 

HTML部分

首先给出html部分代码和注释,显示了整个界面的结构。

<body> 
 <div class="checkout"> 
  <div id="app"> 
  <div class="container"> 
   <div class="cart"> 
   <div class="checkout-title"> 
    <span>购物车</span> 
   </div> 
 
   <!-- table --> 
   <div class="item-list-wrap"> 
    <divclassdivclass="cart-item"> 
    <divclassdivclass="cart-item-head"> 
     <ul> 
     <li>商品信息</li> 
     <li>商品金额</li> 
     <li>商品数量</li> 
     <li>总金额</li> 
     <li>编辑</li> 
     </ul> 
    </div> 
    <ulclassulclass="cart-item-list"> 
     <!--productList在Vue组件中的data定义,包含全部数据,使用v-for进行遍历显示--> 
     <li v-for="item inproductList"> 
     <divclassdivclass="cart-tab-1"> 
      <divclassdivclass="cart-item-check"> 
      <!--Vue2.0中想为HTML标签绑定属性,必须使用v-bind:,绑定内容为对象,这里为a标签绑定check属性,属性值为item中的checked值--> 
      <!--@click是v-on:click的缩写,为这个按钮绑定了点击事件,对应Vue组件methods中定义的方法selectProduct--> 
      <ahrefahref="javascript:void 0" class="item-check-btn"v-bind:class="{'check': item.checked}"@click="selectedProduct(item)"> 
       <svGClasssvgclass="icon icon-ok"><usexlink:hrefusexlink:href="#icon-ok"></use></svg> 
      </a> 
      </div> 
      <divclassdivclass="cart-item-pic"> 
      <imgv-bind:srcimgv-bind:src="item.productImage" alt="烟"> 
      </div> 
      <divclassdivclass="cart-item-title"> 
      <divclassdivclass="item-name">{{ item.productName }}</div> 
      </div> 
      <divclassdivclass="item-include"> 
      <dl> 
       <dt>赠送:</dt> 
       <ddv-forddv-for="part in item.parts"v-text="part.partsName"></dd> 
      </dl> 
      </div> 
     </div> 
     <divclassdivclass="cart-tab-2"> 
      <!--使用过滤器,|后面加Vue组件filter中定义的过滤器名称--> 
      <divclassdivclass="item-price">{{ item.productPrice |fORMatMoney}}</div> 
     </div> 
     <divclassdivclass="cart-tab-3"> 
      <divclassdivclass="item-quantity"> 
      <divclassdivclass="select-self select-self-open"> 
       <divclassdivclass="quantity"> 
       <!--绑定changeMoney()方法,调整商品数量--> 
       <ahrefahref="javascript:;"@click="changeMoney(item,-1)">-</a> 
       <inputtypeinputtype="text" :value="item.productQuantity" disabled> 
       <ahrefahref="javascript:;"@click="changeMoney(item,1)">+</a> 
       </div> 
      </div> 
      <divclassdivclass="item-stock">有货</div> 
      </div> 
     </div> 
     <divclassdivclass="cart-tab-4"> 
      <divclassdivclass="item-price-total">{{ item.productPrice*item.productQuantity| money('元')}}</div> 
     </div> 
     <div class="cart-tab-5"> 
      <divclassdivclass="cart-item-operation"> 
      <!--delConfirm方法控制删除时的弹框显示状态--> 
      <ahrefahref="javascript:void 0" class="item-edit-btn"@click="delConfirm(item)"> 
       <svg class="iconicon-del"><use xlink:href="#icon-del"></use></svg> 
      </a> 
      </div> 
     </div> 
     </li> 
    </ul> 
    </div> 
   </div> 
 
   <!-- footer --> 
   <div class="cart-foot-wrap"> 
    <divclassdivclass="cart-foot-l"> 
    <divclassdivclass="item-all-check"> 
     <ahrefahref="javascript:void 0"> 
     <spanclassspanclass="item-check-btn" :class="{'check':checkAllFlag}"@click="checkAll(true)"> 
      <svg class="iconicon-ok"><usexlink:hrefusexlink:href="#icon-ok"></use></svg> 
     </span> 
     <span v-show="!checkAllFlag">全选</span> 
     </a> 
    </div> 
    <divclassdivclass="item-all-del"> 
     <ahrefahref="javascript:void 0" class="item-del-btn"@click="checkAll(false)"> 
     <spanv-showspanv-show="checkAllFlag">取消全选</span> 
     </a> 
    </div> 
    </div> 
    <divclassdivclass="cart-foot-r"> 
    <divclassdivclass="item-total"> 
     <!--totalMoney是商品总金额,在Vue组件中通过方法被修改--> 
     Item total: <span class="total-price">{{totalMoney| money('元')}}</span> 
    </div> 
    <divclassdivclass="next-btn-wrap"> 
     <ahrefahref="address.html" class="btn btn--red" >结账</a> 
    </div> 
    </div> 
   </div> 
   </div> 
  </div> 
 
  <!--绑定一个md-show类,通过delFlag变量控制这个类,这个类可以让弹框显示或隐藏--> 
  <div class="md-modal modal-msg md-modal-transition"id="showModal" v-bind:class="{'md-show':delFlag}"> 
   <div class="md-modal-inner"> 
   <div class="md-top"> 
    <!--关闭按钮,通过改变delFlag值控制弹框状态--> 
    <buttonclassbuttonclass="md-close" @click="delFlag = false">关闭</button> 
   </div> 
   <div class="md-content"> 
    <divclassdivclass="confirm-tips"> 
    <pidpid="cusLanInfo">你确认删除此订单信息吗?</p> 
    </div> 
    <div class="btn-wrapcol-2"> 
    <!--选择yes则调用delProduct删除元素--> 
    <button class="btnbtn--m" id="btnModalConfirm"@click="delProduct">Yes</button> 
    <button class="btnbtn--m btn--red" id="btnModalCancel"@click="delFlag=false">No</button> 
    </div> 
   </div> 
   </div> 
  </div> 
  <!--遮罩层,整个都是通过delFlag进行控制的,v-if根据表达式的真假条件渲染元素--> 
  <div class="md-overlay"v-if="delFlag"></div> 
 
  </div> 
 </div> 
</body>

对应的关键注释在代码中给出,下面结合Vue.js的代码,对主要部分进行解释。 

一、Vue组件基本格式

一个Vue组件的基本代码如下:

new Vue({ 
 el:'#app', 
 data: {}, 
 filters: {}, 
 mounted: function() {}, 
 methods: {} 
});

在JS代码中,使用new Vue即可声明一个Vue组件。Vue组件主要包括以下几个字段。
1.  el字段:el字段用来定义该组件在HTML中的哪个位置生效,需要传入HTML中某个元素的id值。这里传入了#app,表示HTML中id为app的元素内部都是这个Vue组件的作用范围。
2. data字段:data字段定义了Vue组件中的数据,可能在HTML中进行渲染。在本应用中,商品的价格、名称、图片链接等信息,都是使用Vue组件中data字段内的数据进行渲染的。
3. filter字段:filter字段是一个过滤器,在本应用中,针对价格等需要格式化的文本,就可以使用filter进行过滤。
4. mounted字段:mounted字段通常定义一个方法,这个方法将在页面加载完成时自动执行,在React框架中都有类似的机制。
5. method字段:method字段用来定义Vue组件中需要用到的方法,这个字段的内容往往是需要投入时间最多的部分,例如页面中选择商品、增加数量等逻辑,都是在这个字段中进行编辑的。
以上就是一个vue组件的主要组成部分,下面对各个部分功能的代码编写进行简要介绍。 

二、数据渲染

数据渲染部分,要渲染的数据都存放在data中。每一个商品的信息都被模拟存储在了cart.JSON的文件中。我们可以实现数据自动加载,基本思路是:在method字段中定义一个方法,用来加载cart.json中的数据,并将其存放到data字段中定义的对应变量中。在mouted字段中,自动调用这个方法。这样就实现了页面加载完成后自动加载数据。对应的JS代码和注释如下:

data: { 
 //存放商品json数据信息 
 productList: [] 
 } 
methods: { 
  //cartView()方法用来加载数据,并将数据存储在这个Vue组件中的productList变量中 
  cartView: function() { 
  var _this = this; 
  //使用vue-resource模块加载数据,类似Jquery中的ajax,返回数据存放在res.body中 
  this.$Http.get("data/cartData.json", {"id":123}).then(function(res) { 
   _this.productList =res.body.result.list; 
   // _this.totalMoney = res.body.result.totalMoney; 
  }); 
} 
 } 
 mounted: function() { 
 //执行代码放在$nextTick中,保证页面结构加载完毕后再执行函数 
 this.$nextTick(function() { 
  this.cartView(); //使用this调用methods中定义的cartView()方法 
 }) 
 }

完成了这部分代码,所有商品的数据就存放在了组件中变量名为productList的字段中。
前端HTML部分的进行调用,需要使用v-for指令。这个指令用来循环遍历Vue中的数据,代码如下:

<ul class="cart-item-list"> 
 <li v-for="item in productList"> 
 <div class="cart-tab-1"> 
  <div class="cart-item-check"> 
  </div> 
  <div class="cart-item-pic"> 
  <img v-bind:src="item.productImage" alt="烟"> 
  </div> 
  <div class="cart-item-title"> 
  <div class="item-name">{{ item.productName}}</div> 
  </div> 
  <div class="item-include"> 
  <dl> 
   <dt>赠送:</dt> 
   <dd v-for="part in item.parts"v-text="part.partsName"></dd> 
  </dl> 
  </div> 
 </div> 
</ul>

通过v-for指令,遍历了变量productList中的数据,并在内部的HTML中调用。利润item.productImage获取对应图片URL地址;item.productName获取商品名称等。这样,就自动生成了一个商品信息列表。

关于“Vue.js如何搭建移动端购物车界面”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: Vue.js如何搭建移动端购物车界面

本文链接: https://lsjlt.com/news/66491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Vue.js如何搭建移动端购物车界面
    这篇文章将为大家详细讲解有关Vue.js如何搭建移动端购物车界面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文介绍了如何使用Vue搭建一个移动端购物车界面,最终实现的...
    99+
    2024-04-02
  • Vue怎么实现移动端购物车界面
    今天小编给大家分享一下Vue怎么实现移动端购物车界面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。HTML部分首先给出HTM...
    99+
    2023-07-04
  • vue.js如何实现购物车
    这篇文章主要介绍vue.js如何实现购物车,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.一层数据结构-全选下面这段代码和vuejs官网里面checkbox绑定很像。不明白的可以直...
    99+
    2024-04-02
  • iOS搭建简易购物车页面
    本文实例为大家分享了iOS实现简单购物车页面的搭建,供大家参考,具体内容如下 1.基础页面的搭建 在storyboard的cell中创建控件并进行约束,继承自定义的AZWineCel...
    99+
    2022-11-13
    iOS 购物车
  • 如何使用原生JS购物车及购物页面的cookie
    这篇文章主要介绍了如何使用原生JS购物车及购物页面的cookie,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。直接上代码:<!DOCT...
    99+
    2024-04-02
  • 小程序购物车动画如何优化
    这篇文章将为大家详细讲解有关小程序购物车动画如何优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序购物车动画优化公司小程序点击加购时,会绘制一个抛物线动画,这个抛物线动画是计算出来的贝塞尔曲线上每个...
    99+
    2023-06-22
  • 如何封装vue.js移动端导航navigationbar
    这篇文章主要介绍了如何封装vue.js移动端导航navigationbar,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。web app和移动...
    99+
    2024-04-02
  • vue.js移动端app如何初始配置
    这篇文章主要介绍了vue.js移动端app如何初始配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。示例:初始工作:通过vue-cli安装w...
    99+
    2024-04-02
  • 如何使用Ajax、json实现京东购物车结算界面的数据交互
    这篇文章将为大家详细讲解有关如何使用Ajax、json实现京东购物车结算界面的数据交互,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果图<div cla...
    99+
    2024-04-02
  • React如何引入antd-mobile和postcss搭建移动端
    这篇“React如何引入antd-mobile和postcss搭建移动端”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Rea...
    99+
    2023-07-04
  • jQuery如何模拟实现天猫购物车动画效果
    这篇文章主要介绍了jQuery如何模拟实现天猫购物车动画效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、功能描述: &nbs...
    99+
    2024-04-02
  • 如何使用RN Animated做一个“添加购物车”动画
    小编给大家分享一下如何使用RN Animated做一个“添加购物车”动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最近在选座...
    99+
    2024-04-02
  • 商城开发中如何构建好用的购物车系统
    在现代的电子商务时代,购物车系统已经成为了绝大部分电商网站和应用的必备组件。购物车不仅方便了消费者存储和跟踪他们的购买物品,还为商家提供了简单而有效的支持,帮助他们促进销售和提供更好的客户服务。但是,一个功能齐全的购物车系统要如何构建呢?在...
    99+
    2023-05-14
    构建 商城开发 购物车系统
  • Mint UI如何实现基于Vue.js移动端组件库
    这篇文章将为大家详细讲解有关Mint UI如何实现基于Vue.js移动端组件库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Mint UI 包含丰富的 CSS 和 JS ...
    99+
    2024-04-02
  • 一步步学习:如何用PHP和MySQL构建购物车功能
    在本篇文章中,我们将一步步学习如何使用PHP和MySQL构建一个简单的购物车功能。购物车是电子商务网站不可或缺的一部分,它允许用户将想要购买的商品暂时存放在其中,并实现对商品的增删改查...
    99+
    2024-03-15
    - php - mysql - 学习
  • 如何搭建云服务器管理界面
    1. 选择乙速 云yisu云服务器管理面板:可以选择一些开源的管理面板,如Webmin、VestaCP等,也可以选择一些商业的管理面...
    99+
    2023-05-13
    搭建云服务器 云服务器
  • Qt基于QScrollArea如何实现界面嵌套移动
    本篇内容介绍了“Qt基于QScrollArea如何实现界面嵌套移动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!QT创建一个qWidget界...
    99+
    2023-07-02
  • Vue-cli webpack移动端如何自动化构建rem
    这篇文章给大家分享的是有关Vue-cli webpack移动端如何自动化构建rem的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。相信很多小伙伴想着自己的移动端项目能够自动转换为r...
    99+
    2024-04-02
  • jQuery如何阻止移动端遮罩层后页面滚动
    这篇文章给大家分享的是有关jQuery如何阻止移动端遮罩层后页面滚动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css代码:.ovfHiden{overflow: hidden...
    99+
    2024-04-02
  • Android如何实现客户端语音动弹界面
    这篇文章主要介绍Android如何实现客户端语音动弹界面,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体内容如下:首先,整体界面分三部分,最上层自定义ActionBar相信不需要我讲大家就能看出来了。中间部分是文字...
    99+
    2023-05-30
    android
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作