• 微信小程序 (组件的使用)


    创建组件

    在根目录创建components目录,然后创建列表组件

    组件中内容

    <view class="prolist">
        //循环prolist列表 <view class="proitem" data-proid="{{item.proid}}" bindtap="toDetail" wx:for="{{prolist}}" wx:key="item.proid"> <view class="itemimg"> <image src="{{item.proimg}}"></image> </view> <view class="iteminfo"> <view class="title">{{item.proname}}</view> <view class="price">¥{{item.price}}</view> </view> </view> </view>
    /* component/prolist/proplist.wxss */
    /* .ul .li {
      height: 50px;
    } */
    .prolist{
      position: relative;
    }
    .prolist .proitem {
       100%;
      height: 100px;
      display: flex;
      box-sizing: border-box;
      /* 如果是网页开发 需要写一个物理像素 */
      border-bottom:1rpx solid #ccc;
    }
    /* gulp */
    .prolist .proitem itemimg {
      100px;
      height: 100px;
    
    }
    
    .prolist .proitem .itemimg image {
       90px;
      height: 90px;
      border: 1px solid #ccc;
      margin: 5px;
    }
    .prolist .proitem .iteminfo{
      flex:1;
      padding: 3px 5px;
    }

    在组件属性列表中接收,在组将方法中完成跳转页面

    // component/prolist/proplist.js
    Component({
      /**
       * 组件的属性列表
       */
      properties: {
        prolist: Array
      },
    
      /**
       * 组件的初始数据
       */
      data: {
        // Aarry:[]
      },
    
      /**
       * 组件的方法列表
       */
      methods: {
        toDetail (event) {
          console.log("去详情页面",event)
          // const { proid } = event.currentTarget.dataset
          const { currentTarget: { dataset:{proid}}}=event
          //如果跳转的是tab页面可以使用 switchTsb 或者 reluanch
          //如果跳转的是非tab页面 使用redirectTo或者 navigateTo reluanch
    
          wx.navigateTo({
            url: `/pages/detail/detail?proid=${proid}`,
          })
    
          // wx.redirectTo({
          //   url: `/pages/detail/detail?proid=${proid}`,
          // })
    
          // wx.reLaunch({
          //   url: `/pages/detail/detail?proid=${proid}`
          // })
        }
      }
    })

    引入组件

    a:在父组件index.wxml中引入组件

    <prolist prolist="{{prolist}}"></prolist>
    

    b:在index.json中注册组件

    {
      "navigationBarBackgroundColor": "#ff4001",
      "navigationBarTitleText":"首页",
      "navigationBarTextStyle":"white",
      "backgroundColorTop":"#efefef",
      "enablePullDownRefresh": true,
      "onReachBottomDistance":50,
      "disableScroll":false,
    
      
      "usingComponents": {
        "prolist":"/component/prolist/proplist"
      }
    }

    完成图

  • 相关阅读:
    SQL Server 深入解析索引存储(非聚集索引)
    class.forName的官方使用方法说明
    使用C++实现学生管理系统
    hdu5033 Building 单调队列
    leetCode 72.Edit Distance (编辑距离) 解题思路和方法
    IOS7 textkit 的相关
    nodejs即时聊天
    5种语言混合编程:C++、JS、python、Lisp、汇编
    java Semaphore信号亮-同意多个任务同一时候訪问这个资源--thinking in java21.7.6
    关于Android的.so文件所须要知道的
  • 原文地址:https://www.cnblogs.com/yueyuez/p/12350273.html
Copyright © 2020-2023  润新知