第二章总结

了解小程序的基本目录结构

了解小程序的开发框架

掌握小程序的文件类型(示例代码与运行结果从项目逻辑文件开始)

掌握小程序的相关配置信息

         小程序的基本目录结构

 项目主目录下有2个子目录(pages和utils)和4个文件(app.js、app.json、app.wxss和project.config.json)

在主目录中,3个以"app"开头的文件是微信小程序框架的主描述文件,是应用程序级别的文件

pages目录中有2个子目录,分别是index和logs,每个子目录中保存着一个页面的相关文件。

utils目录用来存放一些公共的.js文件

                主题文件

微信小程序的主体部分由3个文件组成,这3个文件必须放在项目的主目录中,负责小程序的整体配置,他们的名称是固定的。

app.js:小程序逻辑文件,主要用来注册小程序全局实例

app.json:小程序公共设置文件,配置小程序全局设置

app.wxss:小程序主样式表文件,类似于HTML的.css文件。该文件在项目中不是必须的

                页面文件

小程序通常是由多个页面组成的,每个页面包含4个问价,同一页面的这4个文件必须具有相同的路径与文件名。位于pages文件夹内

.js文件:页面逻辑文件,在该文件中编写JavaScript代码控制页面的逻辑。

.wxml文件:页面结构文件,用于设计页面的布局、数据绑定等,类似HTML页面中的.html文件

.wxss文件:页面样式文件,用于定位本页面中用到的各类样式表。当页面中有样式表文件时,文件中的样式规则回层叠覆盖app.wxss中的样式规则;否则直接使用app.wxss中指定的样式规则

.json文件:页面配置文件

        小程序的开发框架


小程序MINA框架示意

 MINA框架将整个系统划分为视图层、逻辑层。视图层使用标签语言WXML和用于描述WXML组件样式的WXSS组成。逻辑层是MINA框架的服务中心。小程序中的各个页面可以通过逻辑层来实现数据管理、网络通信、应用生命周期管理和页面路由。

                视图层

对于小程序而言,视图层就是所有.wxml文件与.wxss文件的集合:.wxml文件用于描述页面的结构;.wxss用于描述页面的样式。

                逻辑层

微信小程序开发框架的逻辑层是采用JavaScript编写的。在JavaScript的基础上,做出了修改,主要包括:

1)增加了app()和page()方法,进行程序和页面的注册

2)提供丰富的API,如扫一扫、支付等微信特有的能力

3)每个页面有独立的作用域,并提供模块化能力

                数据层(不显示)

1.页面临时数据或缓存

2.文件存储(本地存储)

3.网络存储与调用

        创建小程序页面

 删除原index文件,并删除app.json内的"pages/index/index"

在pages文件夹内新建文件夹,命名为news,在news内新建news.js、news.json、news.wxml、news.wxss,在app.json内,在"pages/logs/logs"上添加一行" "pages/news/news","

在news.js内输入Page({

})

在news.json内输入{

}

在news.wxml内输入想要显示的内容,之后编译运行即可,若想要修改内容的样式,则在news.wxss内进行修改,类似于html内的css

        掌握小程序的文件类型

  1. JSON 文件:用于配置小程序的全局配置和页面配置,包括小程序的基本信息、页面路径、窗口样式、导航栏样式等。

  2. WXML 文件:类似于 HTML,用于编写小程序的页面结构,包括标签、属性和数据绑定等。

  3. WXSS 文件:类似于 CSS,用于编写小程序的页面样式,包括选择器、样式属性、样式表达式等。

  4. JS 文件:用于编写小程序的逻辑代码,包括页面的生命周期函数、事件处理函数、数据处理和业务逻辑等

                配置文件

  1. pages:用于定义小程序的页面路径,是一个数组,每个元素是一个字符串,表示一个页面的路径。

  2. window:用于定义小程序的窗口样式和导航栏样式等。可以设置窗口的背景颜色、顶部导航栏的背景颜色和文字颜色等。

  3. tabBar:用于定义小程序底部的选项卡栏,包括选项卡的图标、文字、页面路径等。

  4. networkTimeout:用于设置小程序的网络请求超时时间,可以分别设置 requestconnectSocketuploadFiledownloadFile 的超时时间。

  5. navigationBarTitleText:用于设置小程序默认页面的导航栏标题文字。

  6. navigationBarTextStyle:用于设置小程序默认页面的导航栏标题文字的样式,可以设置为 black 或 white

  7. backgroundColor:用于设置小程序的背景颜色。

  8. backgroundTextStyle:用于设置小程序的下拉刷新样式,可以设置为 dark 或 light

  9. enablePullDownRefresh:用于设置小程序是否支持下拉刷新。

  10. debug:用于设置小程序是否开启调试模式。

                全局配置文件

 

                window配置项

 

                tabBar配置项 

                networkTimeout配置项 

 

         逻辑层文件

 

在微信小程序中,逻辑层文件主要是指 JavaScript (JS) 文件,用于编写小程序的逻辑代码和业务逻辑。逻辑层文件包含以下几个方面的内容:

  1. 页面生命周期函数:逻辑层文件中可以定义页面的生命周期函数,例如 onLoadonShowonReadyonHideonUnload 等。这些生命周期函数在小程序页面的不同阶段被触发,可以用于执行相应的初始化、数据加载、页面渲染等操作。

  2. 事件处理函数:逻辑层文件中可以定义事件处理函数,用于响应用户的交互操作。例如,通过监听按钮的点击事件或表单的提交事件,编写相应的事件处理函数来执行相关操作。

  3. 数据处理:逻辑层文件可以处理数据的获取、处理和存储。可以通过调用小程序提供的 API,从服务器获取数据,对数据进行处理和转换,然后将数据传递给视图层进行展示。

  4. 业务逻辑:逻辑层文件是实现小程序业务逻辑的主要位置。根据业务需求,可以在逻辑层文件中编写条件判断、循环、数据计算、数据更新等代码,以实现小程序的功能和交互。

  5. API 调用:逻辑层文件可以调用小程序提供的 API,用于实现各种功能。例如,可以调用网络请求 API 进行数据的获取与提交,调用文件 API 进行文件的读写操作,调用设备 API 获取设备信息和操作硬件等。

        项目逻辑文件

// app.ts
App({
  onLaunch:function(){
    console.log("小程序初始化");
  },
  onShow:function(options){
    console.log("小程序启动");
    console.log(this.data);
    console.log(this.fun());
  },
  onHide:function(){
    console.log("小程序隐藏进入后台");
  },
})

 

         页面逻辑文件

  1. 页面生命周期函数:页面逻辑文件中可以定义页面的生命周期函数,例如 onLoadonShowonReadyonHideonUnload 等。这些生命周期函数在页面的不同阶段被触发,可以用于执行相应的初始化、数据加载、页面渲染等操作。

  2. 事件处理函数:页面逻辑文件中可以定义事件处理函数,用于响应用户的交互操作。例如,通过监听按钮的点击事件或表单的提交事件,编写相应的事件处理函数来执行相关操作。

  3. 数据处理:页面逻辑文件可以处理数据的获取、处理和存储。可以通过调用小程序提供的 API,从服务器获取数据,对数据进行处理和转换,然后将数据传递给视图层进行展示。

  4. 业务逻辑:页面逻辑文件是实现页面特定业务逻辑的主要位置。根据页面的功能需求,可以在页面逻辑文件中编写条件判断、循环、数据计算、数据更新等代码,以实现页面的功能和交互。

  5. API 调用:页面逻辑文件可以调用小程序提供的 API,用于实现各种功能。例如,可以调用网络请求 API 进行数据的获取与提交,调用文件 API 进行文件的读写操作,调用设备 API 获取设备信息和操作硬件等。

页面结构文件

       

列表数据绑定:

wx:for:在组件上,可以使用wx:for控制属性绑定一个数组,将数据中的各项数据循环进行数据绑定到该组件,格式为

<view wx:for="{{items}}">
    {{index}}:{{item}}
</view>

模板:在小程序中 如果要经常使用几个组件的组合,通常把这几个组件结合定义为一个模板,以后在需要的文件中直接使用这个模板

1.定义模板:模板代码由wxml组成,膺此定义也是在wxml文件中,定义模板的格式为:

<template name="模板名">

2.使用模板:

<template is="模板名" data="{{传入的数据}}">

示例代码

   news.js

Page({
  data:{
    name:'lbh',
    age:'20',
    birthday:[{year:2004},{month:3},{date:3}],
    object:{hobby:'computer'},
    students:[
      {nickname:"Tom",height:180,weight:150},
      {nickname:"Anne",height:160,weight:100}
  ]
  },
})

        news.wxml 

<view>姓名:{{name}}</view>
<view>年龄:{{age}}</view>
<view>出生日期:
  {{birthday[0].year}}年
  {{birthday[1].month}}月
  {{birthday[2].date}}日
</view>
<view>爱好:{{object.hobby}}</view>
<view wx:if="age>=1">2</view>
<view>{{age==30?'happy':'sad'}}</view>

<template name="stu">
<view wx:for="{{students}}">
  <text>姓名:{{item.nickname}}</text>
  <text>身高:{{item.height}}</text>
  <text>体重:{{item.weight}}</text>
</view>
</template>
<template is="stu" data="{{students}}"></template>

 运行结果

​​​​​​​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值