小程序入门

2019-11-04  本文已影响0人  YX_亚亚呀

要开发小程序首先要明白下面几个问题

  1. 我们如何创建小程序,如何对项目的目录结构分析?
  2. 一个小程序页面的生命周期是什么?
  3. 如何增加页面?
  4. 如何设置导航栏的属性?
  5. 小程序是如何将视图层和逻辑层进行绑定的?

小程序的文件结构

一个小程序首先有四个应用入口文件:

一个页面主要是包含以下四个文件,这四个文件必须是相同的名字和路径,最好以页面所在的文件夹名字为标准:

页面可以嵌套页面,但是建议不要超过5个层级。

app.json文件
"pages": [ //设置页面的路径
  "pages/index/index", //不需要写index.wxml,index.js,index,wxss,框架会自动寻找并整合
  "pages/logs/logs"
],
"window": { //设置默认窗口的表现形式
  "navigationBarBackgroundColor": "#ffffff", //顶部导航栏背景色
  "navigationBarTextStyle": "black", //顶部导航文字的颜色 black/white
  "navigationBarTitleText": "微信接口功能演示", //顶部导航的显示文字
  "backgroundColor": "#eeeeee", //窗口的背景色
  "backgroundTextStyle": "light", //下拉背景字体、loading 图的样式,仅支持 dark/light
  "enablePullDownRefresh": "false", //是否支持下拉刷新 ,不支持的话就直接不写!
  "disableScroll": true, //  设置true不能上下滚动,true/false,注意!只能在 page.json 中有效,无法在 app.json 中设置该项。
},
"tabBar": { //底部tab或者顶部tab的表现,是个数组,最少配置2个,最多5个
  "list": [{ //设置tab的属性,最少2个,最多5个
    "pagePath": "pages/index/index", //点击底部 tab 跳转的路径
    "text": "首页", //tab 按钮上的文字
    "iconPath": "../img/a.png", //tab图片的路径
    "selectedIconPath": "../img/a.png" //tab 在当前页,也就是选中状态的路径
  }, {
    "pagePath": "pages/logs/logs",
    "text": "日志"
  }],
  "color": "red", //tab 的字体颜色
  "selectedColor": "#673ab7", //当前页 tab 的颜色,也就是选中页的
  "backgroundColor": "#2196f3", //tab 的背景色
  "borderStyle": "white", //边框的颜色 black/white
  "position": "bottom" //tab处于窗口的位置 top/bottom
  },
"networkTimeout": { //默认都是 60000 秒一分钟
    "request": 10000, //请求网络超时时间 10000 秒
    "downloadFile": 10000, //链接服务器超时时间 10000 秒
      "uploadFile": "10000", //上传图片 10000 秒
    "downloadFile": "10000" //下载图片超时时间 10000 秒
  },
"debug": true //项目上线后,建议关闭此项,或者不写此项

可以看到共有五个部分可以配置,分别是pages, window, tarBar, networkTimeout和debug

pages:定义的是这个小程序由哪些页面组成。在以后需要新增或者减少页面时,都需要在这里进行设置,有几个页面pages数组就有几项。pages是一个数组,而数组的第一项就是小程序的初始页面.

window: 定义的是窗口的配置信息。
属性类型默认值描述

navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如"#000000"

navigationBarTextStyleStringwhite导航栏标题颜色,仅支持 black/white

navigationBarTitleTextStringa导航栏标题文字内容

backgroundColorHexColor#ffffff窗口的背景色

backgroundTextStyleStringdark下拉背景字体、loading 图的样式,仅支持 dark/light

enablePullDownRefreshBooleanfalse是否开启下拉刷新
tarBar: 用来定义 tabBar 的表现

tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

我们可以在项目目录下添加一个images文件,用来存放我们的图片文件。

注意:目前小程序只支持网络图片或者base64图片,使用本地图片需要将图片转为base64代码

networkTimeout: 用来设置各种网络请求的超时时间。
属性类型必填说明

requestNumber否wx.request的超时时间,单位毫秒

connectSocketNumber否wx.connectSocket的超时时间,单位毫秒

uploadFileNumber否wx.uploadFile的超时时间,单位毫秒

downloadFileNumber否wx.downloadFile的超时时间,单位毫秒

小程序的生命周期

(1)App()生命周期

(2)Page页面生命周期(每个页面也有自己的生命周期)

(3)应用生命周期影响页面生命周期

视图层和逻辑层数据绑定

<!--index.wxml-->
<view>{{text}}</view>
<button bindtap="changeText"> Change normal data </button>
<view>{{array[0].text}}</view>
<button bindtap="changeItemInArray"> Change Array data </button>
<view>{{obj.text}}</view>
<button bindtap="changeItemInObject"> Change Object data </button>
<view>{{newField.text}}</view>
<button bindtap="addNewField"> Add new data </button>


//index.js
Page({
  data: {
    text: 'init data',
    array: [{text: 'init data'}],
    object: {
      text: 'init data'
    }
  },
  changeText: function() {
    this.setData({
      text: 'changed data'
    })
  },
  changeItemInArray: function() {
    this.setData({
      'array[0].text':'changed data'
    })
  },
  changeItemInObject: function(){
    this.setData({
      'object.text': 'changed data'
    });
  },
  addNewField: function() {
    this.setData({
      'newField.text': 'new data'
    })
  }
})

创建小程序页面步骤

  1. 在pages 中添加一个目录 ,选中page,右击鼠标新建一个文件夹test(或者点击+号,逐个添加目录,添加目录下面所需要的文件)
  1. 新建一个wxml 文件,在test文件夹底下新建一个wxml空文件
  1. 编辑test.wxml 文件

     <view class="container">  
            <text>这是test页面!!!</text>  
     </view>  
    
  2. 同样的方法,创建test.js文件,编辑test.js文件

     //test.js  
     //获取应用实例  
     var app = getApp()  
     Page({  
       data: {  
         userInfo: {}  
       },  
       onLoad: function () {  
         console.log('onLoad test');  
       }  
     })  
    
  3. 将test 页面加入 app.json,打开全局文件 app.json,在文件里面添加 "pages/test/test"(加入一条 test 页面所在的目录 )

  1. 在首页加入跳转访问链接, 在首页写一个页面入口 ,跳转到我们要测试的页面上,直接在首页 pages/index/index.wxml 添加一段代码一句链接

     <view class="btn-area">  
        <navigator url="/pages/test/test" hover-class="navigator-hover">跳转test页面</navigator>  
      </view>  
    
  2. 测试,保存代码,点击上面的编译按钮,所有代码运行起来,点击首页的“跳转到test页面”,跳转成功。

  3. 设置页面标题,找到 pages/test/ 目录 新建一个 test.json 文件 加入如下代码。

     {
       "navigationBarTitleText": "test详情页"
     }
    
上一篇下一篇

猜你喜欢

热点阅读