黑马优购的项目

文章目录

1、准备工作。

我们先把wx.request封装好。然后我们去配置路由。把尾部的导航配置出来。
就是我们的首页、分类、购物车、还有我的。
在全局的app.json中配置

{
  "pages": [ //  这个是我们的页面,有点类似我们的vue路由
    "pages/index/index", 
    "pages/category/category",
    "pages/goods_list/goods_list",
    "pages/goods_detail/goods_detail",
    "pages/cart/cart",
    "pages/collect/collect",
    "pages/order/order",
    "pages/search/search",
    "pages/user/user",
    "pages/feedback/feedback",
    "pages/login/login",
    "pages/auth/auth",
    "pages/pay/pay"
  ],
  "tabBar": {
    "list": [{ // 这个是我们小程序内置的下部导航
      "pagePath": "pages/index/index",
      "text": "首页",        
      "iconPath": "/icons/home.png", // 没被选中的图片
      "selectedIconPath": "/icons/home-o.png"        // 被选中时的图片
    },{
      "pagePath": "pages/category/category",
      "text": "分类",
      "iconPath": "/icons/category.png",
      "selectedIconPath": "/icons/category-o.png"
    },{
      "pagePath": "pages/cart/cart",
      "text": "购物车",
      "iconPath": "/icons/cart.png",
      "selectedIconPath": "/icons/cart-o.png"
    },{
      "pagePath": "pages/user/user",
      "text": "我的",
      "iconPath": "/icons/my.png",
      "selectedIconPath": "/icons/my-o.png"
    }]
  },
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#eb4450",
    "navigationBarTextStyle": "white"
  },
}
 

2、封装一些公共的组件 

首先看一下我们页面中哪些功能被使用了2次或以上,我们就都封装成公共的组件。比如一些搜素、头部等。在根目录下创建一个components文件夹。然后创建一个公用的文件夹

 

这个文件夹中存放我们公用的组件
我们准备工作就完成了。

3、请求接口渲染页面 

我是先写的首页,使用我们封装好的wx.request请求来数据,拿着数据去渲染页面就可以了。

4、列表页面渲染 

到了列表页面,我们左边导航和右边数据是外部盒子的一个滚动条,而不是整个页面的,左边和右边的滚动条是不互相影响的,因此我们使用了一个小程序内置的标签。 

<scroll-view scroll-y></scroll-view>

// 作为一个盒子使用,给定一个高度或宽度,让里面的内容在这个区域出现滚动条

// scroll-y y轴开启滚动条

// scroll-x x轴开启滚动条 

然后应为头部上边有一个搜素组件,占据了一定的位置,我们这个盒子的高度不能设置为100%。
这时我们可以使用css中的一个计算方法calc()方法来计算高度。

height:calc(100vh - 80px);

// 假设我们搜素组件的高度为80px

// 原生css 中的计算 

这样我们就计算出来页面剩余的高度。接着就是给每一个内容绑定一个点击事件。跳转页面了。当然,跳转的时候我们需要把当前点击的id通过路由传参发送出去。
路由传参:一般常用的有2种,

wx.navigateTo({		
// 不可以跳转到tabBar页面,就是我们在全局的app.json设置的tabBar属性里的那几个路由
	url:'/pages/goods_list/goods_list?id=' + id  // 我们要跳转到哪个页面
	// 如果要传参,我们可以直接拼接就可
})

wx.redirectTo({  // 只能跳转tabBar页面
	url:'/pages/goods_list/goods_list?id=' + id 
})
// 注意:我们传过去的数据是在this.options  这个对象中

5、详细列表下拉刷新,上拉加载 

5-1、下拉刷新
首先我们肯定是要把页面先渲染出来,然后在实现我们的功能。
下拉刷新:首先我们要开启页面的下拉刷新,在当前页面的json中写配置。

"enablePullDownRefresh":true,	// 开启用户下拉
  "backgroundTextStyle":"dark"	// 下拉时loading颜色
  // 需要加上这2个属性

 然后我们页面有一个监听用于下拉动作的生命周期函数,我们可以重新请求第一页数据。

下拉刷新

思路:我们小程序有封装好的下拉动作,开启后,在使用小程序内置的监听用户下拉动作的函数,在里面重新请求第一页的数据
首先在我们要使用下拉刷新页面的json配置中写入

"enablePullDownRefresh":true,

// 开启下拉刷新 "backgroundTextStyle":"dark"

// 改变刷新时出现的样式,默认是白色。

然后在我们的开启下拉刷新的页面就可以下拉了。

onPullDownRefresh:function(){   // onPullDownRefresh 专门用来监听用户的下拉动作
			wx.request({			// 用户下拉后我们重新请求一次
			url:'https://wwwaksdha',
			data:{pagenum:1,pagesize:10},// 发送的参数		请求第一页的数据	每页10条数据
			method:'get',			// 请求方式
			success(res){
				this.setData({
				list:res.data.list /
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值