前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序复习巩固 —— (wxml,wxss、js、wx:if、wx:for)

微信小程序复习巩固 —— (wxml,wxss、js、wx:if、wx:for)

作者头像
Gorit
发布2021-12-09 13:47:51
9990
发布2021-12-09 13:47:51
举报
文章被收录于专栏:Gorit 带你学全栈系列

微信小程序基础预热

之前学了 vue2.5,并且做了一个模仿 去哪网界面,越是学的后面,越是发现 vue 的语法和微信小程序的语法是非常相似,这次把微信小程序基础重新捡起来,毕竟从去年暑假学完小程序到现在过去了挺长时间的,这次基础语法迅速过一遍,就开始做项目了,冲冲冲

一、学习记录

  1. view 标签 和 text 标签
  2. 插值表达式的使用,js 后端数据传值问题
  3. wx:if 基本使用
  4. wx:for 循环遍历显示数据
  5. 小案例,九九乘法表
在这里插入图片描述
在这里插入图片描述

二、案例整理

2.1 view 标签和 text 标签简单实用

  1. 直接在 wxml 文件中编写 code

wxml

代码语言:javascript
复制
<view>Hello Worldview> 
<text>Hello Worldtext> 

这一块官方文档记录的非常详细:传送门

2.2 插值表达式简单使用

更多插值表达式的应用

  1. 简单的传值,使用插值表达式动态改变数据 js
代码语言:javascript
复制
// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      info: "大家好,我是第一个界面",
      isShow:false,
      list: ["aaaa","bbbb","cccc"],
      person: {
        name:"Gorit",
        age:18
      },
      arr : [1,2,3,4,5,6,7,8,9],
      a:1,
      b:2,
      c:3,
  }


})

wxml: 静态数据的渲染

代码语言:javascript
复制
<view>{{info}}view>


<view>{{person.name}}view>
<view>{{person.age}}view>


<view>{{list}}view>
<view>{{list[0]}}view>


  <swiper vertical="{{false}}" indicator-dots="true" autoplay="true" interval="3000" duration="500" circular="{{true}}">
    <swiper-item>
      1
    swiper-item>
	...
  swiper>


<view>{{a + b + c}}view>


<view>{{"Hello " +a + b + c}}view>
  1. js 修改数据

在 js 中,在 onLoad 方法中加上 this.setData({ }) ,通过对象的形式传数据到前端,很重要!!!

代码语言:javascript
复制
 onLoad: function (options) {

    // js 数据传值到前端
    this.setData({
      info:"数据改变了"
    })
  },

2.3 wx:if 条件渲染 (类比 vue 中的 v-if v-show)

  1. 单度的标签判断 wxml
代码语言:javascript
复制
<view wx:if="{{isShow}}">{{info}}view>
<view wx:else>else 显示出来了view>

多个标签的判断要如何处理呢?

  1. 使用 block 标签,一次性可以绑定多个标签
代码语言:javascript
复制
	<view>xxxxview>
	<view>xxxxview>
block>

2.4 wx:for 循环迭代

  1. 单个标签的循环 wxml

我们通过 循环 list,通过 item 的到其值,index 得到下标

代码语言:javascript
复制
<text>使用 wx:for 循环数据text>
<view wx:for="{{list}}" wx:key="{{index}}">{{item}},{{index}}view>

<text>别名 数据渲染text>
<view wx:for="{{list}}" wx:key="{{index}}" wx:for-item="value" wx:for-index="idx">{{value}},{{idx}}view>
  1. 循环多个标签,使用 block 即可,使用方式同 wx:if

2.5 综合小练习:九九乘法表

wxml

wx:if wx:for 结合使用

代码语言:javascript
复制
<text>九九乘法表显示text>
<view class="row" wx:for="{{arr}}" wx:for-item="x" wx:key="index">
  <view class="col" wx:for="{{arr}}" wx:for-item="y" wx:key="index">
    <view wx:if="{{x >= y}}">{{y}}x{{x}}={{x*y}}  view>
  view>
view>

wxss

小程序比较特殊,需要我们指定样式,来保证样式的正常

代码语言:javascript
复制
.row {
    display: flex;
    flex-wrap: nowrap;
}

.col {
    display: flex;
    flex-wrap: nowrap;
}

三、总结

3.1 完整代码

index.wxml

代码语言:javascript
复制
<!--pages/index/index.wxml-->
<text>小程序基础的学习(一)2020年2月17日21:13:51</text>
<view class="header">微信小程序基础学习</view>

<text>使用插值表达式</text>
<view>{{info}}</view>
<view></view>

<!-- 插值表达式显示对象中的数据 -->
<view>{{person.name}}</view>
<view>{{person.age}}</view>

<view>if 判断</view>
<view wx:if="{{isShow}}">{{info}}</view>
<view wx:else>else 显示出来了</view>

<text>显示数组中的元素</text>
<!-- 显示数组中元素 -->
<view>{{list}}</view>
<view>{{list[0]}}</view>

<text>使用 wx:for 循环数据</text>
<view wx:for="{{list}}" wx:key="{{index}}">{{item}},{{index}}</view>
<text>别名 数据渲染</text>
<view wx:for="{{list}}" wx:key="{{index}}" wx:for-item="value" wx:for-index="idx">{{value}},{{idx}}</view>


<text>九九乘法表显示</text>
<view class="row" wx:for="{{arr}}" wx:for-item="x" wx:key="index">
  <view class="col" wx:for="{{arr}}" wx:for-item="y" wx:key="index">
    <view wx:if="{{x >= y}}">{{y}}x{{x}}={{x*y}}  </view>
  </view>
</view>

index.js

代码语言:javascript
复制
// pages/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
      info: "大家好,我是第一个界面",
      isShow:false,
      list: ["aaaa","bbbb","cccc"],
      person: {
        name:"Gorit",
        age:18
      },
      arr : [1,2,3,4,5,6,7,8,9]
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

    // js 数据传值到前端
    this.setData({
      info:"数据改变了"
    })
  }
})

index.wxss

代码语言:javascript
复制
.header {
  text-align: center
}
.row {
    display: flex;
    flex-wrap: nowrap;
}

.col {
    display: flex;
    flex-wrap: nowrap;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/02/18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微信小程序基础预热
  • 一、学习记录
  • 二、案例整理
    • 2.1 view 标签和 text 标签简单实用
      • 2.2 插值表达式简单使用
        • 2.3 wx:if 条件渲染 (类比 vue 中的 v-if v-show)
          • 2.4 wx:for 循环迭代
            • 2.5 综合小练习:九九乘法表
            • 三、总结
              • 3.1 完整代码
              相关产品与服务
              云开发 CloudBase
              云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档