zoukankan      html  css  js  c++  java
  • 有赞招聘小程序,有你就很赞

    仿有赞招聘小程序


    前言

    学了大概一个月的小程序,从对小程序的一无所知,到现在对小程序的渐渐熟悉,其实心里挺开心的。现在看到一个小程序,脑子里想的不是这个功能怎么怎么好用,而是在想这个功能该怎么实现,应该怎么设置数据,大概的逻辑该是怎么样的,这是这个小项目对我最大的帮助。这个小程序用了一周时间,想着趁刚刚学完,赶紧做个小项目巩固下自己学习的内容,效果还是很好的。这个小程序说不上很高级,如果您是大神,您可以跳出文章,这些知识您都知道,就不要浪费您时间了,留着点时间看别的有用的知识。如果您也是跟我一样的新手,想巩固自己的学习内容,那您可以看看我这篇文章,我会对我踩得坑以及一些解决办法还有一些效果的实现做一个总结,或许对您有帮助。


    小功能的实现


    小坑提醒

    • swiper组件圆点位置的改变

    clipboard.png

    swiper组件圆点的默认位置在中间,找了很久找到圆点位置的设置属性

    .product-image .wx-swiper-dots.wx-swiper-dots-horizontal{
         margin-bottom: 2rpx;
         margin-left: 300rpx;
    }

    • swiper滑动同步改变内容

    clipboard.png

    在swiper组件上绑定bindchange事件,然后使用current表示当前滑块id,然后在要显示文字的view中绑定数据层的current,实现同步
    wxml:

        <swiper class="product-image" indicator-active-color="#fff" indicator-dots="true" bindchange="changeDec" current="{{current}}" circular="true">
                <block wx:for="{{productImg}}" wx:for-index="index" wx:key="id">
                    <swiper-item>
                        <image src="{{item.url}}" class="slide-image" mode="aspectFill" />
                    </swiper-item>
                </block>
          </swiper>
         <view class="product-dec" data-id="{{current}}">{{name}}</view>

    js

      changeDec: function (e) {
        let current = e.detail.current;
        switch (current) {
          case 0:
            this.setData({
              name: '有赞零售'
            })
            break;
          case 1:
            this.setData({
              name: '有赞云'
            })
            break;
          case 2:
            this.setData({
              name: '有赞微商城'
            })
            break;
        }
        this.setData({
          current: current,
        })
      },

    • 标题栏标题与两边线的距离

    clipboard.png

    由于使用了weui,样式默认为原有样式,但是我又想改下他们之间的距离,然后在源码中找到了设置方法

    .weui-loadmore__tips_in-line{
      padding: 0 2em;
      color: #6e6e6f;
    }

    • 列表上cell的线的隐藏

    clipboard.png

    上边框的线怎么隐藏?试了好久,还以为是border的问题,后面发现这个是伪元素的问题,这个也是看源码分析出的,发现看源码真的能解决很多问题

    .company-adress>.weui-media-box:nth-child(3):before{
      content: " ";
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      height: 1px;
      border-top: 1rpx solid #e5e5e5;
      left: 7px
    }
    .company-adress>.weui-media-box:nth-child(4):before{
      content: " ";
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      height: 1px;
      border-top: 1rpx solid #e5e5e5;
      left: 7px
    }

    • map组件遮住内容的问题

    由于map组件的优先级最高,试了很多下,想把view放上去,不过最后都无功而返,最后百度下,发现用cover-view可以,不过cover-view能用的范围也不多,暂时还没找到更加好的办法


    • 文字间无法插入空格的问题

    clipboard.png

    有时候有些文字描述的内容没有必要再加一个text标签,但是内容间又有间距怎么办?刚开始用&nbsp后面测试下发现在小程序里直接这样是没有用的,必须加上decode="{{true}}",还要记得加分号,不然没有用

    <text decode="{{true}}" class="titleTag">#简历处理快如闪电&nbsp;&nbsp;&nbsp;#很少回聊天信息 #早上活跃</text>

    不过我更加倾向于用第二种方法:把输入法改成全角,然后就可以愉快的使用空格打空格了


    数据的操作

    • 页面间数据的传递

      • wx.request或者navigator的url参数代入一个个性值,通过与另一个页面间的数据匹配,实现页面间数据的同步
      • 缓存setStorage,getStorage,一边设置,另一边获取
      • globalData,全局变量,通过getApp().globalData方法赋值

    • 状态操作的经验

      只要涉及到状态操作的,可以考虑使用三元运算符,通过在数据层true or false控制状态,然后视图层通过类名控制样式


    工具与网站分享


    我的一些想法

    • 底部tabBar可以通过设置一大一小图片,展示选中效果,这样会有一种动态效果,会不会体验更好一点?

    clipboard.png


    最后小结

    这个项目确确实实的加深了我对小程序的理解,但更重要得是,能感觉到自己独立解决问题的能力提升不少,最后总结的时候会发现自己踩过好多坑,虽然中途也因为没解决问题感到痛苦,但是现在总结写文章的时候,感觉很棒,对自己走过的路总结,反省的过程是真的很愉快的,会对自己认识也更深刻一点,最后希望自己会越来越好,希望以后能给社区带来更好的项目,最后附上源码

  • 相关阅读:
    二叉堆(最小堆, 最大堆)介绍与实现
    C++ 用变量定义数组
    C++ 用变量定义数组
    053185
    053184
    053183
    053182
    053181
    053180
    oracle prior
  • 原文地址:https://www.cnblogs.com/10manongit/p/12712458.html
Copyright © 2011-2022 走看看