微信小程序之初始篇

1,852 阅读4分钟

原文首发于微信公众号:躬行之,欢迎关注交流!

微信官方团队对小程序的定义是一种全新的连接用户和服务的方式,当然微信小程序的出现更多的是巩固微信社交老大的地位,微信小程序之后诞生的支付宝小程序、快应用以及最近出现的百度智能小程序、头条小程序等,可见小程序设计出一套模板不是很难,巨头们都在抢占小程序风口,争取能在小程序的裂变效应下为自身赋能,不扯了,如果有时间还是学习一下小程序开发吧。

  1. 准备工作
  2. 目录结构
  3. 数据绑定
  4. 渲染标签
  5. 模板使用
  6. 测试效果
  7. 总结

准备工作

要说准备工作其实没有什么,我觉得只要保持一颗要学习的心态就够了。微信官方提供了微信 Web 开发者工具,可以用来开发小程序,也可以用来调试微信公众号网页调试。

目录结构

微信小程序主体部分有三个文件构成,且必须放在项目的根目录,具体作用如下:

  • app.js:小程序逻辑,如小程序启动、初始化、前后台切换以及加载小程序出错事件的监听等
  • app.json:小程序公共配置,如配置小程序的页面路径等
  • app.wxss:小程序公共样式表(非必须)。

一个完整的小程序页面应该有四种文件构成,具体作用如下:

  • js 文件:页面逻辑;
  • wxml 文件:页面结构;
  • json 文件,页面配置(非必须);
  • wxss 文件,页面样式(非必须)。

下面的小程序目录结构是最基本的小程序目录结构,具体如下:

│  app.js
│  app.json
│
└─src
    └─pages
            index.js
            index.wxml

当然,实际开发中少不了样式文件。

数据绑定

组件的使用就不再啰嗦了,直接看官方文档就可以了,这里来看一看在微信小程序中如何进行数据绑定,创建一个文本标签如下:

<text>微信小程序初始篇...{{text}}</text>

其中两对大括号里面的 text 所表示的就是在相应 js 文件中指定的数据,在 data 下定义 text 并给定初始值,具体如下:

data: {
    text: '这是文本内容'
}

此时,小程序运行时就会显示 text 对应的内容了,那么如何动态的设置 text 的值呢,使用 setData 方法来为定义的变量赋值,具体参考如下:

/**
* button的点击事件
*/
btnClick: function() {
    console.log("button被点击了");
    //修改text的值
    this.setData({
        text: "这是新的文本内容..."
    });
},

这样就动态更新了已定义变量的值了,非常简单有木有。

渲染标签

小程序目前提供的渲染标签有条件 if 和 循环 for,可以使用这两种标签完成一些界面的搭建,下面演示一些它们的使用方式:

<!-- 条件语句 -->
<!-- 如果条件为true则显示,false则不显示,注意条件外面的引号-->
<view wx:if="{{true}}">渲染标签的使用...1</view>
<view wx:else>渲染标签的使用...2</view>

<!-- 循环语句 -->
<!-- 默认item和index可以自定义,for里面必须是数组形式 -->
<view wx:for="{{list}}" wx:for-item="it" wx:for-index="ix" wx:key="{{item.id}}">
  <!-- 遍历,默认索引是index,值的item -->
  {{ix}}-{{it.name}}
</view>

wx:if 标签参数为布尔值,可以借此控制一个组件的显示和隐藏,wx:for 标签参数时一个数组,可以遍历数组中的内容将其循环显示出来。

模板使用

小程序定义模板主要有两种方式:

  • 第一种方式:

创建一个 wxml 文件如下:

<!--header.wxml-->
<text>头部...</text>

然后再对应的页面中使用 include 关键字引入,具体参考如下:

<!-- 导入定义的模板---include -->
<include src="../template/header"/>
  • 第二种方式:

创建一个 wxml 文件,使用 template 标签创建模板并制定模板名称,具体参考如下:

<!--footer.wxml-->
<template name="footer1">
底部1...{{data}}
</template>

<template name="footer2">
底部2...{{data}}
</template>

然后在页面对应的 wxml 中使用 import 关键字导入模板,用 is 属性制定要显示的模板,这种方式可以创建多个模板,使用时指定对应的名称,具体参考如下:

<!-- 导入定义的模板---import -->
<!-- 可以定义多个模板,用is标记要实现的模板,data设置动态数据 -->
<import src="../template/footer"/>
<template is="footer1" data="{{data:'这是底部区域的内容'}}"/>

测试效果

来一张测试效果图如下:

躬行之

总结

本篇文章是学习微信小程序的第一篇,简单写个 Demo 了解一下小程序的开发模式以及一些小程序特殊语法的学习,这也算是入门小程序了。可以选择关注个人微信公众号:躬行之 获取最新更新,一起交流学习!

1.png