[TOC]
# 1.小程序要点
## 1.1文件结构
### 1.基础文件 ( app.js app.json app.wxss ***.wxml 项目必备)
```
1. js
2. json
3. wxss: 写样式
4. wxml :写结构 app不需要 .wxml
```
> 1.1-1.3 文件必须有的
#### 1.1 app.js
```
App({
/**
* 当小程序初始化完成时,会触发 onLaunch(全局只触发一次)
*/
onLaunch: function () {
},
/**
* 当小程序启动,或从后台进入前台显示,会触发 onShow
*/
onShow: function (options) {
},
/**
* 当小程序从前台进入后台,会触发 onHide
*/
onHide: function () {
},
/**
* 当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息
*/
onError: function (msg) {
}
})
```
#### 1.2 app.json
```
{
"pages":[
"pages/welcome/welcome",
"pages/index/index",
"pages/user/user"
],
"window": {
"navigationBarBackgroundColor": "#b3d4db",
"navigationBarTextStyle": "#fff",
"navigationBarTitleText": "小程序",
"backgroundColor": "#eeeeee",
"backgroundTextStyle": "light",
"enablePullDownRefresh": false
}
}
```
#### 1.3 app.wxss
```
放置公共样式 相当于 base.css
```
### 2. 页面文件
* 页面文件装在 `page` 文件夹里,一个页面以后、个单独的文件夹,每个页面包含四个基础文件,基础文件名与文件夹名一致
```
如 page/index/index.js,index.json,index.wxss,index.wxml
```
### 3.引用公共文件
> 公共文件一般放在 template 文件夹中
#### 3.1调用wxml
* 公共文件
```
<template name="banner">
<swiper indicator-dots="true" autoplay="true" interval="3000" duration="1000" >
<block wx:for="{{imgUrl}}" wx:key="{{index}}">
<swiper-item>
<image src="{{item.src}}" />
</swiper-item>
</block>
</swiper>
</template>
```
* 调用文件
```
<import src="../template/banner(路径)"></import>
<template is="banner" data = "{{imgUrl}}"></template>
```
*****
```
在一个wxml定义模板
<template name="test">
<view>{{text}}</view>
</template>
在另一个文件中引入模板
<import src="path"></import>
<template is="test" data="{{text}}"></template>
```
#### 3.2 调用 .wxss 文件
* 公共文件
```
没要求,和css外部样式一样写
```
* 调用文件
```
@import "../template/banner(路径)";
```
#### 3.3 调用 js 文件
* 公共文件(存放数据)
```
var imgUrl = [
{src:"../../images/1.png"},
{src:"../../images/2.jpg"},
{src:"../../images/3.jpg"},
{src:"../../images/4.jpg"}
];
module.exports={ //给外部提供一个 js 接口
imgUrl:imgUrl
};
```
* 调用文件
```
var local = require("../data/local.js") //获取js 的接口
Page({
onLoad:function(){
var bannerData = local.imgUrl;
this.setData({
imgUrl:bannerData
})
}
});
```
## 2.1 小程序的基本用法
### 1 navigator跳转
```
<navigator url="/pages/index/index" redirect="false" hover-class="navigator-hover" open-type="navigate">
<view>跳转到index</view>
</navigator>
```
### 2. 事件跳转
```
//wxml文件中绑定事件
<view bindtap = "handClick">跳转</view>
//js
Page({
handClick(){
wx.navigateTo({
url:""
})
}
})
```
### 3. wx:for
```
//wxml
<block wx:for="{{arr}}" wx:key="index">
<view>{{item}}{{index}}</view>
</block>
//js
Page({
data:{
arr:[1,2,3]
}
});
```
### 4.MVC
```
data,view,controller
```
- 开发环境及接口
- 0.豆瓣接口
- 1.开发环境配置
- 2.一些相关文档
- 小程序实例效果
- 第0节、TodoList
- 第一节、豆瓣相关
- 1、tabBar的配置及导航加标题
- 2、数据加载及下拉加载
- 3、加载相关
- 4、轮播
- 5、星星评分
- 第二节、音乐播放相关
- 1.点击收藏分享
- 2.音乐播放
- 初始版
- 组件版
- 组件加强版
- 3.点赞
- 点赞初级版
- 点赞第二版
- 5.左右按钮
- 6.缓存
- 第三节、补充
- 地图
- 点击拍照换图
- 扫一扫
- 小程序语法
- 第一节 、HTTP的封装
- 0.http请求
- 1.function封装
- 2.class封装http
- 3.promise封装
- 4.config地址
- 第二节、组件
- 2.组件单独设置样式
- 3.一些有意义的标签
- 4.behavior
- 5.SLOT
- 6.左右按钮
- 5.点赞组件
- 6.用户授权
- 图片按钮 如分享
- 第三节、api
- 1.页面跳转
- 获取input里的值
- 1.添加评论
- 2.搜索框
- 3. 获取input里的值
- 2.设置缓存
- 3.模态框,弹出框
- 4.分享showActionSheet
- 5.定义全局的数据
- 2. 基础知识
- 1.setData
- 2.文件结构
- 3.wxml语法
- 第一节 数据绑定
- 第二节 列表渲染
- 第三节 条件渲染
- 第四节 模板
- 第五节 事件
- 第六节 引用
- 4.wxs
- 1.文本缩进问题
- 5.小程序中遇到的wxss 问题
- 1.width100%越界问题
- 废弃的文件
- 一个完整的小程序
- 1.启动页面
- 2.yuedu轮播+封装及数据调用
- yuedu的详情页
- 3.电影
- movie-more
- web-view