微信小程序提供了模板(template)功能
模板是一种类似于组件的功能,把使用频率高、功能单一的代码定义成模板,然后在需要的地方调用
例如,豆瓣电影中有多个列表页,格式相同,内容不同,于是就可以把列表定义成模板
通过传入不同数据显示不同的列表
在微信小程序中定义模板,使用<template/>定义代码片段
在标签上通过name属性定义模板的名字,代码如下
<template name="msgItem"><view><text>{{index}}: {{msg}}</text><text>Time: {{time}}</text></view></template>
在其他页面里通过is属性声明需要使用的模板,然后将模板需要的data传入,代码如下。
<template is="msgItem" data="{{item}}" />
接下来,在list文件夹下新建list-template.wxml文件
使用template标签创建模板
定义模板名称name="list-template",代码如下
list-template.wxml
<template name="list-template"><scroll-view style="display:inline"enable-back-to-top scroll-y bindscrolltolower="loadMorePage"><view class="weui-panel"><view class="weui-panel__bd"><navigator wx:for="{{ movies }}"wx:key="{{ item.id }}"url="/pages/item/item?id={{ item.id }}"class="weui-media-box weui-media-box_appmsg"hover-class="weui-cell_active"><view class="weui-media-box__hd weui-media-box__hd_in-appmsg"style="height:inherit;width:120rpx"><image style="width: 128rpx;height: 168rpx;"class="weui-media-box__thumb" src="{{ item.images.small }}" /></view><view class="weui-media-box__bd weui-media-box__bd_in-appmsg"><view class="weui-media-box__title">{{ item.title }}</view><view class="weui-media-box__desc">{{ item.original_title }} ({{ item.year }})</view><view class="weui-media-box__info">导演:<block wx:for="{{ item.directors }}"wx:key="{{ item.id }}"> {{ item.name }}</block></view></view><view class="weui-media-box__ft"><view class="weui-badge">{{ item.rating.average }}</view></view></navigator></view></view></scroll-view></template>
list.wxml
<import src="list-template" /><template is="list-template" data="{{ movies }}" />
首先通过import标签导入模板
然后通过template的is属性声明需要使用的模板
最后把电影数据传入data
