微信小程序开发常用技巧(9)——使用模板文件方便公共代码开发
来源:互联网 发布:linux vi文本编辑器 编辑:程序博客网 时间:2024/06/08 19:03
很多时候,我们在开发的过程中,很多个页面中有很多代码很相似,甚至相同,那么我们有没有办法将这些代码提取公共部分,然后提供各个页面直接使用,同时也减少对页面代码的开发呢?答案是肯定的:微信小程序可以在模板中定义代码片段,然后在不同的地方调用。
这里是小程序模板说明文档
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.jsPage({ 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>
运行效果:
至此,我们已经基本上掌握了微信小程序模板的使用,是不是很简单,快去新建一个项目试试吧!
- 微信小程序开发常用技巧(9)——使用模板文件方便公共代码开发
- 公共免费开发接口地址 ---自己整理方便使用
- 微信小程序开发常用技巧(1)——修改page背景色
- 微信小程序开发常用技巧(2)——页面view高度计算
- 微信小程序开发常用技巧(3)——wx.showModal中content换行
- 微信小程序开发常用技巧(4)——事件传递参数
- 微信小程序开发常用技巧(5)——view左右滑动,切换page页面
- 微信小程序开发常用技巧(6)——列表上拉加载更多
- 微信小程序开发常用技巧(7)——实现一个类似于Android toast效果动画
- 微信小程序开发常用技巧(8)——给你的小程序添加一个客服会话
- 微信小程序开发—引用公共js里的方法
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- 程序开发小技巧——格式化代码
- C Primer Plus 第三章
- Font Awesome图标字体库
- JQuery 动画
- JS学习-操作表单
- .Net Core 2.0正式版上线
- 微信小程序开发常用技巧(9)——使用模板文件方便公共代码开发
- 【集训Day1 测试】选择课题
- DensityUtils
- PriorityQueue解析
- 复习多线程的基础总结
- hello!everyone
- logback异常输出详细信息(调用堆栈)
- Spring Boot 异常统一处理
- 堆与堆排序