小程序基本标签与语法
目录
小程序基本标签与语法
小程序
小程序项目结构
静态页面的构成
HTML:结构css:样式js:行为
小程序

页面全部存放在pages, 而且pages目录只能存放页面
- 页面包括4个文件,
pages/页面名/页面名.js(wxss,json,wxml)
- 4个文件的文件名必须一致
- 4个文件
.js页面逻辑.json页面配置.wxml页面结构.wxss页面样式
- 页面包括4个文件,
pages/页面名/页面名.js(wxss,json,wxml)
app.js是小程序入口文件,先忽略掉app.jsonpages配置的数组,是有序的。第一个就是模拟器显示的页面
{
// 所有的页面路径都应该配置在这个数组里面,如果没有配置,如果跳转
"pages":[
"pages/index/index",
"pages/logs/logs"
],
//全局窗口样样式
"window":{
"backgroundTextStyle":"light",
//导航栏方案的背景色
"navigationBarBackgroundColor": "#fff",
//导航栏的文案
"navigationBarTitleText": "等你回家",
//导航栏方案的前景色
"navigationBarTextStyle":"black"
}
}app.wxss全局样式
基本标签的使用
组成程序的页面的并不是HTML标签,而是小程序的组件
text:显示文本的- 相当于是
span标签,是行内元素
- 相当于是
view包裹作用- 相当于是
div
- 相当于是
image就是显示图片默认的高度和宽度
开发时,需要设置高度和宽度
button按钮size:mini:表示小的按钮
<button>默认的按钮</button>
<button size="mini">小按钮</button>语法——数据绑定
{ {}}:数据绑定使用 Mustache 语法(双大括号)将变量包起来
- 文本渲染:
<!-- 文本渲染,使用{{}} -->
<text>{{msg}}</text>- 属性绑定
<!-- 属性绑定,{{}} -->
<image src="{{imgUrl}}"></image>- 条件渲染
wx:if和wx:else是固定写法,不能改- 条件满足就渲染,如果不满足不移除
dom
<!-- 条件判断{{}}
如果条件满足就展示对应的dom -->
<view wx:if="{{isHandsome}}">很帅 </view>
<view wx:else>丑B</view>- 列表渲染
wx:for是固定写法- 默认的元素别名
item,索引别名index wx:for-item可以指定元素别名?的值以两种形式提供- 字符串,代表在
for循环的array中item的某个 property,该 property 的值需要是列表中唯一的字符串或数字,且不能动态改变。 - 保留关键字
*this代表在 for 循环中的item本身,这种表示需要item本身是一个唯一的字符串或者数字
- 字符串,代表在
<!-- 遍历,{{}}
默认的元素别名item,默认的索引别名index -->
<view wx:for="{{movieList}}" wx:key="*this">{{item}}--{{index}}</view>- 注意点
- 可以在微信开发者工具,调试器可以看到当前页面的
data属性,也可以改

{ {}}可以写表达式
<view class="box {{isRed?'red':''}}"></view>语法——注册事件与消息提示框
注册事件
在结构中注册事件
事件名有很多,但是最基本是
tap事件PC 端使用
click事件,移动端用top事件
<button bind事件名="事件处理方法">点我呀</button>- 事件处理方法声明在和
data平级
Page({
事件处理方法(){
}
})- 消息提示框
wx.showToast({
title: '点疼我了', //提示的文案
// icon:'loading'
icon:'none', //提示框图标
duration:3000,//提示时长
mask:true //是否显示遮罩
})语法模块化
小程序中也支持模块化的概念:
作用:
- 把一些公共的代码抽离为作为一个单独
js
- 把一些公共的代码抽离为作为一个单独
使用:
- 直接使用ES6的模块化
传送门:
使用方法
- 在模块js中暴露方法
属性或者对象
- 在模块js中暴露方法
// 对外暴露
export default sayHello- 需要使用模块的js里面引入
// 引入模块
import sayHello from '../../utils/hello'注意点:
import
路径
不支持绝对路径
,所以写相对路径即可
方法中的this
小程序中的
this指向就的当前小程序页面实例,可以通过 this 取得对象上的属性与方法
- 方法访问
data属性this.data.属性名 - 方法访问方法
this.方法名 - 改变
data属性this.setData({属性名:值})
