• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信商城小程序开发篇--前篇:商城列表项组件开发之一

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

    最近在学习开发商城微信小程序,在开发商城的时候,我们可能在首页,商品列表页都会遇到商品项的展示,类似京东这种,但没这么复杂:


    我将上面的这种商品展示暂且称之为竖向展示。我写过首页和商品列表页之后,发现还有其他页面会用到这种商品展示方式,于是就想将这个鬼东西写成组件,方便使用,顺便也学习一下组件的开发过程。

    首先创建一个空模版的小程序,新建一个文件夹叫做component,它长这个样子:



下面来写组件:

组件跟写小程序单页面一样,也是一个文件夹内部包含同名但后缀不同的文件,就不说明了,需要的请看微信文档,讲的很详细,传送门:https://developers.weixin.qq.com/miniprogram/dev/index.html?t=2018413

先在component/vertical-item/index.json里面注册组件,添加如下代码,表示注册组件:


      在component/vertical-item/index.wxml文件当中添加wxml代码:


     在component/vertical-item/index.wxss文件当中添加样式代码:

.d-shoping-item {
    width: 350rpx;
    font-size: 0rpx;
    display: inline-block;
    border-radius: 6rpx;
}

.info{
    background: #ffffff;
    font-size: 24rpx;
    padding: 10rpx;
    color: #666666;
}
.desc{
    text-align: left;
    height: 68rpx;
    letter-spacing: 4rpx;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow:ellipsis;
}

.detail{
    height: 40rpx;
    padding-top: 10rpx;
    position: relative;
}

.price{
    color: #ff423c;
    display: inline-block;
    position: absolute;
    left: 0;
}

.sale{
    display: inline-block;
    position: absolute;
    right: 10rpx;
}

.d-shoping-image{
    border-radius: 6rpx;
    width: 100%;
    height: 350rpx;
}

    最后在component/vertical-item/index.js添加js代码,每个字段的意思都有解释哟:

Component({
    externalClasses: ['d-class'],
    
    properties: {
        // 商品的图片
        thumb: {
            type: String,
            value: ''
        },
        // 商品的标题(名称)
        title: {
            type: String,
            value: ''
        },
        // 商品的价格
        price: {
            type: String,
            value: ''
        },
        // 商品的销量
        sale: {
            type: String,
            value: ''
        }
    },
    // 注册事件,我们可以绑定跳转事件
    methods: {
        handleTap () {
            this.triggerEvent('click');
        }
    }
});

    现在我们的组件就写好啦,在logs文件夹下面引用我们的组件测试看看效果,先修改app.json把logs文件当作首页面加载,免了跳转的麻烦:

{
  "pages":[
    "pages/logs/logs",
    "pages/index/index"
  ],
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "WeChat",
    "navigationBarTextStyle":"black"
  }
}

    然后再logs.json里面引用我们刚才写好的组件:

{
    "usingComponents": {
        "d-card": "/component/vertical-item/index"
    }
}

    最后在logs.wxml调用我们的组件(图片是借鉴的):

<view class="test">
    <view class="item">
        <d-card
                title="12018夏季女装碎花外穿雪纺衫吊带衫大妈无袖印花小背心说几句话收到货大幅度发"
                price="69.9"
                sale="销量 80"
                thumb="http://img.weiye.me/zcimgdir/album/file_58fdb771ec8e8.png"
                bind:click="handleClick"
        >
        </d-card>
    </view>
    <view class="item">
        <d-card
                title="12018夏季女装碎花外穿雪纺衫吊带衫大妈无袖印花小背心说几句话收到德大幅度发"
                price="69.9"
                sale="销量 3w"
                thumb="http://img.weiye.me/zcimgdir/album/file_58fdb771ec8e8.png"
                bind:click="handleClick"
        >
        </d-card>
    </view>
    <view class="item">
        <d-card
                title="12018夏季女装碎花外穿雪纺衫吊带衫大妈无袖印花小背心说几句坚阿萨德大幅度发"
                price="69.9"
                sale="销量 60"
                thumb="http://img.weiye.me/zcimgdir/album/file_58fdb771ec8e8.png"
                bind:click="handleClick"
        >
        </d-card>
    </view>
</view>

    写一下logs.wxss容器的样式,便于我们查看:

.test{
    width: 750rpx;
    background: #dfdfdf;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
}

.item{
    margin-top: 20rpx;
    margin-left: 16.6rpx;
}

    到此我们可以从开发者工具看到效果啦,如果你还没下载工具,请从上面的传送门进去吧。


    欢迎关注本喵女的个人微信公众号,微信商城小城学习系列会逐一发出,共同学习。

    

    今天就这么多了,晚安......

        

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap