微信开发之使用模板文件方便公共代码开发
白羽 2018-06-14 来源 :网络 阅读 1066 评论 0

摘要:本文将带你了解微信开发之使用模板文件方便公共代码开发,希望本文对大家学微信有所帮助。


很多时候,我们在开发的过程中,很多个页面中有很多代码很相似,甚至相同,那么我们有没有办法将这些代码提取公共部分,然后提供各个页面直接使用,同时也减少对页面代码的开发呢?答案是肯定的:微信小程序可以在模板中定义代码片段,然后在不同的地方调用。 
这里是小程序模板说明文档

1. 简单的Demo

通过对文档的阅读,接下来我们就来使用模板快速实现一个简单的demo吧。 
首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下:

<!--template.wxml--><template name="msgItem">

  <view>

    <text>This is template.wxml文件,我是一个模板</text>

  </view></template>


然后我们书写我们所要调用template的页面index.wxml:

<!--index.wxml--><!-- 声明需要使用的模板文件 --><import src ="../template/template.wxml"/><view>This is index.wxml</view><template is="msgItem"/>


这里需要说明的关键点为:

· index.wxml中template 标签的is属性与template.wxml中template 标签的name属性值相同

· index.wxml文件中要通过import标签声明需要使用的模板文件

运行效果: 

微信开发之使用模板文件方便公共代码开发

2. 传递参数

通过前面的Demo,我们已经成功使用了小程序模板,但是大多数时候,我们的模板文件不可能是单纯的静态样式,肯定需要一些数据显示的。接下来我们就对模板文件传递参数,然后看看效果。 
首先,修改template.wxml文件,我们给模板添加三个字段,修改后代码如下:

<template name="msgItem">

  <view>

    <text>This is template.wxml文件,我是一个模板</text>

    <view>

      <text> {{index}}: {{msg1}} </text>

      <text> {{msg2}} </text>

    </view>

  </view></template>


接下来我们在index.wxml中传递模板中所需要的三个参数,修改后的代码如下:

<!--index.wxml--><!-- 声明需要使用的模板文件 --><import src ="../template/template.wxml"/><view>This is index.wxml</view><template is="msgItem" data="{{index:1,msg1:'msg1数据',msg2:'msg2数据'}}"/>


运行效果: 

微信开发之使用模板文件方便公共代码开发

3. 列表Item模板

我们已经可以对模板传递参数了,接下来我们就通过一种常见的情况列表数据来使用模板,增加对模板的认知,直接上修改过的代码:

//index.js

Page({

  data: {

    list:[

      { name: '张三', age: 15 },

      { name: '李四', age: 25 },

      { name: '王五', age: 18 },

      { name: '赵六', age: 19 },

    ]

  }

})



<!--index.wxml--><!-- 声明需要使用的模板文件 --><import src ="../template/template.wxml"/><view>This is index.wxml</view><view wx:for="{{list}}">

    <template is="msgItem" data="{{name:item.name,age:item.age}}"/></view>


<!--template.wxml--><template name="msgItem">

  <view>

    <text> name: {{name}} </text>

    <text> age: {{age}}</text>

  </view></template>


运行效果: 

微信开发之使用模板文件方便公共代码开发

4. 使用模板样式

在之前的Demo中,我们已经在需要模板的页面中成功调用了模板文件,但是我们所调用的模板文件并没有样式文件,接下来我们就给模板增加样式文件,然后在需要调用模板的地方使用该样式。 
首先在pages/template文件夹中新建一个template.wxss文件,然后对模板文件,添加一个简单样式。

<!--template.wxml--><template name="msgItem">

  <view class="template_style">

    <text> name: {{name}} </text>

    <text class="template_age_style"> age: {{age}}</text>

  </view></template>


/* pages/template/template.wxss */.template_style{

  border-bottom: solid 2px #999999;

  padding: 5px;

  font-size: 18px;

  color: #000000;

}.template_age_style{

  color: #666666;

  font-size: 14px;}


我们的样式文件已经创建好了,接下来在index.wxml中引入该样式文件。

/**index.wxss**/@import "../template/template.wxss";


运行效果: 

微信开发之使用模板文件方便公共代码开发

5.调用不同模板

有时候,我们有这样的需求,那就是同一个列表中,item数据不同,可能他的样式也是有很大的区别,所以我们使用的模板也会对应不相同,接下来我们就来实现这样需求的小Demo: 
首先修改了一下template.wxml,原本该文件中只有一个template,现在我们创建了两个,新增的template仅仅多了一行代码,当然了实际开发中,需求会比这个难很多,在这里只是为了实现Demo。

<!--template.wxml--><template name="msgItem">

  <view class="template_style">

    <text> name: {{name}} </text>

    <text class="template_age_style"> age: {{age}}</text>

  </view></template><template name="msgItem2">

  <view class="template_style">

    <text> name: {{name}} </text>

    <text class="template_age_style"> age: {{age}}</text>

    <text>我是一个未成年</text>>

  </view></template>


接下来我们在index.wxml中通过age字段调用不同的模板:

<!--index.wxml--><!-- 声明需要使用的模板文件 --><import src ="../template/template.wxml"/><view>This is index.wxml</view><view wx:for="{{list}}">

    <template is="{{item.age >= 18 ? 'msgItem' : 'msgItem2'}}" data="{{name:item.name,age:item.age}}"/></view>


运行效果: 
 微信开发之使用模板文件方便公共代码开发

至此,我们已经基本上掌握了微信小程序模板的使用,是不是很简单,快去新建一个项目试试吧!

 


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程