微信小程序----模板(template)

DEMO下载

效果图

以MUI的实例首页和列表页面为实例
列表页面首页

通过上图,可以看出两个页面的列表部分很相近,以每行作为单元制作模板。

template模板

1、模板存放的位置以及使用模板页面存放的位置
目录详图

template模板的WXML

<!--右侧无箭头  -->
<template name="listNone">
  <view class="tui-menu-list">
    <navigator url="{{item.url}}">
      <block>
        <text>{{item.title}}</text>
      </block>
    </navigator>
  </view>
</template>
<!--右侧有箭头  -->
<template name="list">
  <view class="tui-menu-list tui-youjiantou">
    <navigator url="{{item.url}}">
      <block>
        <text>{{item.title}}</text>
      </block>
    </navigator>
  </view>
</template>

注意:上边在同一个WXML文件内创建了两个模板,一个右侧有箭头,一个右侧无箭头,以name名识别。

template模板的WXSS

.tui-menu-list{
  line-height: 80rpx;
  color: #555;
  font-size: 35rpx;
  padding: 0 0rpx 0 10px;
  position: relative;
}

在index页面使用template模板

WXML
<import src="../../template/list.wxml"/>

<view class="tui-fixed">
  <scroll-view style="height:100%;" scroll-y="true">
    <template wx:for="{{menu}}" is="list" data="{{item}}"></template>
  </scroll-view>
</view>
  1. 用import 将模板引入;
  2. 使用模板,template 的is 属性和模板中:name 属性对应,表示你要使用的具体模板,data 属性是模板中要使用的数据,注意数据结构要相同;
  3. 可以直接循环模板,需要也可以在模板外加一层进行循环。
WXSS

此处将WXSS引入到全局!

@import "./template/list.wxss";
  1. 直接使用import 引入列表的WXSS;
  2. 此代码可以放在当前页面的WXSS(index.wxss)中,也可以放在全局wxss(app.wxss)中 ;
  3. 建议:如果项目需要大量使用一个模板,WXSS引入到全局,减少代码量;如果项目只是很少地方使用模板,可以在需要的页面引入WXSS。

在list页面使用template模板

WXML
<import src="../../template/list.wxml"/>

<view class="tui-list-box">
  <view class="tui-list-head">右侧无箭头</view>
  <template wx:for="{{menu}}" is="listNone" data="{{item}}"></template>
</view>
<view class="tui-list-box">
  <view class="tui-list-head">右侧有箭头</view>
  <template wx:for="{{menu}}" is="list" data="{{item}}"></template>
</view>
<view class="tui-list-box-raduis">
  <view class="tui-list-head">圆角列表</view>
  <template wx:for="{{menu}}" is="list" data="{{item}}"></template>
</view>

总结

  1. 在一个项目中需要在多处页面使用类似的模块,就需要创建模板—-减少代码量,同时代码高度复用;
  2. 在同一个WXML文件中创建多个类似的模板用name属性来区别;
  3. 模板WXSS在全局引入和在使用页面引入的区别在于模板的使用量;
  4. 使用 import 引入模板 WXML 和 WXSS ;
  5. 通过template 标签使用模板,template 标签的 is 属性与模板的 name 属性对应,data 属性代表传入模板的数据。

其他

我的博客,欢迎交流!

我的CSDN博客,欢迎交流!

微信小程序专栏

前端笔记专栏

微信小程序实现部分高德地图功能的DEMO下载

微信小程序实现MUI的部分效果的DEMO下载

微信小程序实现MUI的GIT项目地址

微信小程序实例列表

前端笔记列表

游戏列表

原文地址:https://www.cnblogs.com/linewman/p/9918492.html