微信小程序--基础内容(详解)(一)

一、常用标签

1、view 标签

view 标签是一个块级元素,类似于 div(小程序里面没有div标签),里面可以放任何内容或者插值表达式,如下所示:

<view>这是view标签<view>
<view>{{num}}</view>

2、text 标签

text 标签是一个文本标签,行内标签,类似于 span 标签(小程序没有span标签),Tips:可以添加selectable 属性,长按选中,仅 text 标签支持,如下:

<text selectable>这是一段优美的文字</text>

3、scroll-view 标签

scroll-view 标签表示滚动,scroll-x 是水平方向滚动,scroll-y 是垂直方向滚动。
水平方向滚动:

<scroll-view scroll-x class="scroll">你是小可爱你是小可爱你是小可爱你是小可爱
你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱
你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱</scroll-view>

垂直方向滚动:

<scroll-view scroll-y class="scroll">你是小可爱你是小可爱你是小可爱你是小可爱
你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱
你是小可爱你是小可爱你是小可爱你是小可爱你是小可爱</scroll-view>

Tips:wxss 样式书写:

.scroll{
  width: 200rpx;
  height: 200rpx;
  /* 水平方向滚动时,需加上以下一行代码 */
  /* white-space: nowrap; */
}

4、swiper 标签

swiper 标签是轮播图效果,swiper 标签包裹 swiper-item 标签,该标签身上的属性有以下几种:
indicator-dots 小圆点
indicator-color=“black” 未激活小圆点的颜色
indicator-active-color=“white” 已激活小圆点的颜色
autoplay 自动切换
interval=“3000” 切换时间(3000毫秒)
circular 衔接滑动

5、button 标签

button 标签是按钮标签,button 身上有以下几种属性:
type 属性修改按钮类型,有 primary、warn、default
size 属性可以设置按钮的大小,有 mini
plain 镂空效果,无背景色,有边框
实例:

<button type="default">default按钮</button>
<button type="primary">primary按钮</button>
<button type="warn">warn按钮</button>
<button size="mini">小按钮</button>
<button plain>镂空按钮</button>

在这里插入图片描述

6、image 标签

image 标签用来引入图片,可添加 mode 属性,可选值:aspectFit(保持纵横比)
aspectFill(填充,等比例放大)
widthFix(宽不变,高度自适应)
heightFix(高不变,宽度自适应)

<image src="/images/01.png" mode="aspectFill"></image>

7、rich-text 标签

rich-text 标签内部可以嵌套 html 标签,如下所示:

<rich-text nodes="<h1>一级标题</h1>"></rich-text>

在这里插入图片描述
其余可参考官方文档:微信官方文档

二、数据绑定

Mustache 语法 {{ }},又叫插值表达式,用来动态绑定数据。

1、简单绑定

<view> {{ message }} </view>
Page({
  data: {
    message: 'Hello!'
  }
})

2、事件绑定

(1)bindtap

手指触摸后离开触发事件,类似于 click 点击事件。

<view>点击按钮数字 + 1:{{num}}</view>
<!-- 点击事件绑定 -->
<button type="default" bindtap="addNum" data-val="{{10}}">+1</button>
Page({
  data: {
  num:0,
  },
  addNum(){
    this.setData({
      num: this.data.num += 1
    })
  }
})

Tips: 微信小程序的 js 文件中,获取数据使用 this.data.xxx
修改数据,给数据赋新值必须在 this.setData({ }) 内部书写

bindtap 可传递参数,
传参:data-名称= {{}}
接收参数:event.currentTarget.dataset.名称

<button type="default" bindtap="getNum" data-val="{{10}}">+1</button>

可以打印出 10

 getNum(e){
    console.log(e.currentTarget.dataset.val),
  },
(2)bindinput

文本框输入时触发事件,可以实现数据双向绑定,在小程序内部,没有 v-model 语法糖,可以使用 value 属性和 input 事件实现双向绑定。

<input type="text" value="{{txtVal}}" bindinput="addTxt"/>
<view>{{txtVal}}</view>
Page({
  data: {
  txtVal: '默认值'
  },
  addTxt(e){
    this.setData({
      txtVal: e.detail.value
    })
  }
})

在这里插入图片描述

三、条件渲染

条件渲染相当于 html 里面的 if 语句,在小程序里是这样:
wx:if 还有与之配套的wx:elifwx:else

1、单条件渲染

wx:if 和 wx:else 可以实现显示与隐藏效果:

<button type="primary" wx:if="{{!isCollect}}" bindtap="changeIsCollect">收藏</button>
<button type="warn" wx:else bindtap="changeIsCollect">取消收藏</button>
Page({
  data: {
  isCollect: false
  },
  changeIsCollect(){
    this.setData({
      isCollect: !this.data.isCollect
    })
  }
})  

默认显示收藏按钮
在这里插入图片描述
点击之后,显示取消收藏按钮
在这里插入图片描述
hidden 可实现相同效果,具体如下:

<button type="primary" bindtap="hidden">显示与隐藏</button>
<button hidden="{{hiddenName}}">测试hidden隐藏效果</button>
Page({
  data: {
  hiddenName:false,
  },
  hidden(){
  this.setData({
    hiddenName: !this.data.hiddenName
  })
 }
})
2、多条件渲染
<view wx:if="{{myValue==='a'}}">张三</view>
<view wx:elif="{{myValue==='b'}}">李四</view>
<view wx:elif="{{myValue==='c'}}">王二</view>
<view wx:else>麻子</view>
Page({
  data: {
  myValue: 'b',
  },

因为当前设置的 myvalue 值是 ‘b’ ,所以显示的是李四
在这里插入图片描述

四、列表循环

语法:wx:for 一般搭配 wx:key , key 值一般设置为 id ,如果没有 id ,可设置 index 索引,key 值不设置会有警告 。item 项就是内容,数组和 item 项一般都用Mustache语法{{ }}包裹,可以动态渲染。

1、简单遍历数组
<!-- 列表循环,循环数组 -->
<view wx:for="{{arr1}}" wx:key="index">内容是:{{item}}</view>
Page({
  data: {
  arr1: [10,20,30]
  }
})

在这里插入图片描述

2、遍历二维数组
<!-- 二维数组 -->
<view wx:for="{{arr2}}" wx:key="id">{{item.name}}今年{{item.age}}岁了</view>
Page({
  data: {
    arr2: [
    {id: 1, name: '欧阳', age: 21},
    {id: 2, name: '上官', age: 22},
    {id: 3, name: '司徒', age: 23}
  ],
  }
})

在这里插入图片描述

3、多维数组遍历方式

多维数组渲染的时候,给内部数组加了一个 wx:for-item=“student” , 只是为了增强可读性,加不加都可以,如果不加,可以直接渲染 {{ item }} 即可。

<view wx:for="{{arr3}}" wx:key="id">
{{item.className}}班的学生有:
<text wx:for="{{item.students}}" wx:key="index" wx:for-item="student">{{student}}</text>
</view>
Page({
  data: {
    arr3: [
    {id: 1,
    className: '一班',
    students: ['小花,小草,小林']
    },
    {id: 2,
    className: '二班',
    students: ['叶子,木子,虎子']
    },
    {id: 3,
    className: '三班',
    students: ['洋洋,姗姗,盈盈']
    }
  ]
  }
})

在这里插入图片描述

4、修改数据

修改对象或者数组中的属性:
修改对象数据 [ ’ 对象名 .键名 ’ ]
修改数组数据 [ ’ 数组名[索引] . 键名 ']

<!-- 修改数据 -->
<view>{{obj1.name}}已经{{obj1.age}}岁了,工作是: {{obj1.job}}</view>
<button bindtap="changeData">点击修改数据</button>
Page({
  data: {
    arr2: [
    {id: 1, name: '欧阳', age: 21},
    {id: 2, name: '上官', age: 22}
  ],
   obj1: {
    name: '张三',
    age: 20,
    job: 'web开发'
  }
 },
   changeData(){
   this.setData({
      // 每点击一次,让张三的年龄 + 1
      ['obj1.age']: this.data.obj1.age + 1,
      // 把数组2中欧阳的姓名改成南宫
      ['arr2[0].name']: '南宫'
    })
  },
})

点击按钮之前:
在这里插入图片描述
点击按钮之后:
在这里插入图片描述
时间有限,这些是微信小程序基础入门,后期还会继续更新~~

  • 12
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
微信小程序tdesign-零售电商模板是一款专为零售电商行业设计的开源模板,它提供了丰富的功能和界面设计,以帮助开发者快速构建零售电商类的小程序应用。 该模板的主要特点包括以下几个方面: 1. 完善的商品展示和管理:模板提供了完善的商品展示和管理功能,包括商品分类、商品详情、商品列表、购物车等。开发者可以根据自己的需求,灵活使用这些功能来展示和管理自己的商品。 2. 灵活的购物流程:模板提供了灵活的购物流程设计,包括商品加购、修改数量、选择规格、下单支付等功能。用户可以方便地浏览和购买商品,提升购物体验。 3. 多种营销工具:模板内置了多种营销工具,如优惠券、满减活动、积分、折扣等。开发者可以根据自己的需求,选择合适的营销工具来促进销售和提升用户转化率。 4. 友好的用户界面设计:模板采用了现代化的界面设计风格,用户界面美观、简洁,并且易于操作。这有助于提升用户体验,提高用户对小程序的持续使用。 5. 功能扩展与定制化:开发者可以根据自己的需求进行功能扩展和定制化操作。模板提供了丰富的组件和接口,开发者可以根据自己的实际需要进行灵活的定制和开发。 总的来说,微信小程序tdesign-零售电商模板是一个功能丰富、界面美观的开源模板,通过使用这个模板,开发者可以快速搭建自己的零售电商类小程序应用,并提供良好的用户体验和功能支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值