微信小程序开发入门篇(一)

news/2024/7/20 1:58:03 标签: 前端, 小程序, 微信小程序

 

最近在学习小程序开发,这是查看微信公众号官网,自己总结的一篇小程序开发文档,如果有不对的,欢迎大家指出,让我们共同进步。

开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序

跟随这个教程,开始你的小程序之旅吧!

下面直接介绍小程序内容:

 

WXML 介绍

 

Html模板

从事过网页编程的人知道,网页编程采用的是 HTML + CSS + JS 这样的组合,其中 HTML 是用来描述当前这个页面的结构,CSS 用来描述页面的样子,JS 通常是用来处理这个页面和用户的交互。

WXML 模板介绍

同样道理,在小程序中也有同样的角色,其中 WXML 充当的就是类似 HTML 的角色。打开 pages/index/index.wxml,你会看到以下的内容:

<view class="container">
  <view class="userinfo">
    <button wx:if="{{!hasUserInfo && canIUse}}"> 获取头像昵称 </button>
    <block wx:else>
      <image src="{{userInfo.avatarUrl}}" background-size="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
  <view class="usermotto">
    <text class="user-motto">{{motto}}</text>
  </view>
</view>

和HTML非常相似,WXML由标签、属性等等构成。但是也有很多不一样的地方我们一一阐述一下:

1、标签名称不同

Html常用标签div、p、span等。

WXNL常用标签view、button、text等,这些标签就是小程序给开发者包装好的基本能力,小程序还提供了地图、视频、音频等等组件能力。

2、多了一些 wx:if 这样的属性,以及获取服务端属性 {{ }}表达式。

小程序运用MVVM 的开发模式(例如 React, Vue),把渲染和逻辑分离,简单说不在让JS直接操控DOM,JS只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

用以下一些简单的例子来看看 WXML 具有什么能力:

1)数据绑定

wxml页面:

<!--wxml-->
<view> {{message}} </view>

js页面: 

// page.js
Page({
  data: {
    message: 'Hello MINA!'
  }
})

2)列表渲染

wxml页面:

<!--wxml-->
<view wx:for="{{array}}"> {{item}} </view>

 js页面: 

// page.js
Page({
  data: {
    array: [1, 2, 3, 4, 5]
  }
})

3)条件渲染(使用wx:if、wx:elif、wx:else条件判断)

wxml页面:

<!--wxml-->
<view wx:if="{{view == 'WEBVIEW'}}"> WEBVIEW </view>
<view wx:elif="{{view == 'APP'}}"> APP </view>
<view wx:else="{{view == 'MINA'}}"> MINA </view>

js页面: 

// page.js
Page({
  data: {
    view: 'MINA'
  }
})

判断是区分大小写的,view只等于MINA不等于mina

4) 模板

非使用模板:

<text wx:for="{{staffA}}" wx:for-item="item">

    <text>{{item}}</text>

</text>

使用模板:

wxml页面:

<template name="staffName">

<view>

FirstName: {{firstName}}, LastName: {{lastName}}

</view>

</template>

<template is="staffName" data="{{...staffA}}"></template>

<template is="staffName" data="{{...staffB}}"></template>

<template is="staffName" data="{{...staffC}}"></template>

 js页面:

Page({
  data: {
    staffA: {firstName: 'Hulk', lastName: 'Hu'},
    staffB: {firstName: 'Shang', lastName: 'You'},
    staffC: {firstName: 'Gideon', lastName: 'Lin'}
  }
})

template模板使用name名称和下面的template的is一定要相同。

5) 事件

wxml页面:

<view bindtap="add"> {{count}} </view>

js页面:

Page({
  data: {
    count: 1
  },
  add: function(e) {
    this.setData({
      count: this.data.count + 1
    })
  }
})

微信官网事件介绍

WXSS 样式介绍

WXSS(WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。

引用css有两种方式:

1.第一种方式,通过import引入,在wxss文件引入另一个wxss文件。

.usermotto {

margin-top: 200px;

}

@import "common.wxss";

2.第二种方式。

内联样式

框架组件上支持使用 style、class 属性来控制组件的样式。

  • style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。
<view style="color:{{color}};" />
  • class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。
<view class="normal_view" />

欢迎大家关注“码农新锐”。 

 

 


http://www.niftyadmin.cn/n/1087281.html

相关文章

图片色数的数值运算(加减乘除)和逻辑运算(与或非)(四)

代码一 数值运算 cv内置函数相加&#xff1a;add() 相减&#xff1a;subtract() 相乘&#xff1a;divide() 相除&#xff1a;multiply() 计算原理(对应像素点相加点)通过获取两张&#xff08;一次只能是两张&#xff09;个图片的同一个位置的色素值来实现运算。 注意事…

微信小程序扫描二维码条形码 (wx.scanCode)

前言 在业务中遇到需要获取商品的二维码的信息返回商品的二维码信息&#xff0c;在调用后台的接口&#xff0c;首先想到用小程序的Api,wx.scanCode(Object object)获取二维码信息。 支持相机扫描或者相册获取二维码。 getScancode: function () {var _this this;// 允许从相…

js 获取audio时长,并且转换为分钟00:00:00格式

写js时在网上找了很多获取音频时长都获取不到&#xff0c;然后搜索各种试最后终于可以&#xff0c;记录下来方便以后使用。 // 音频加载完成后的一系列操作 function duration(){var myVid document.getElementById("videoDiv");console.log("duration "…

微信小程序Api发送网络请求(request)

微信小程序发送网络请求(request) 下边的地址是微信小程序开发平台对网络请求的介绍。 微信小程序网络请求介绍 最近公司要求开发小程序&#xff0c;下面是我查看微信小程序文档&#xff0c;写的一个demo&#xff0c;记录下来方便以后使用 开发环境测试&#xff1a; 为了进行…

设计模式-简单工厂模式

设计模式之简单工厂设计模式 工厂模式分为静态工厂模式、工厂方法模式、抽象工厂模式。 今天和大家分享的是简单工厂模式。 什么是简单工厂模式&#xff1f; 工厂模式又称静态工厂方法模式&#xff0c;它又属于创建型模式&#xff0c;在简单工厂模式中可以根据参数的不同返回不…

PostgreSQL - 查询表结构和索引信息

前言 PostgreSQL的表一般都是建立在public这个schema下的&#xff0c;假如现在有个数据表t_student&#xff0c;可以用以下几种方式来查询表结构和索引信息。 使用\d元命令查看表字段信息和索引信息 在cmd界面使用psql连接db后&#xff0c;输入\d加上表名即可&#xff1a; \d t…

查询文章的上一篇或下一篇的sql

1、查询当前的文章上一篇文章。 // 查询上一篇文章select * from article where id (select id fromarticle where id < ${id} order by id desc limit 1 ) 2、查询当前文章下一篇文章。 // 查询当前文章下一篇select * from article where id (select id from articl…

python小功能记录

本博客会不断完善&#xff0c;记录python小功能。 1. 合并两个字典 # in Python 3.5>>> x {a: 1, b: 2} >>> y {b: 3, c: 4}>>> z {**x, **y}>>> z {c: 4, a: 1, b: 3}# Python 2.x >>> z dict(x, **y) >>> z {a: …