微信小程序模板(template)使用详解


Posted in Javascript onJanuary 31, 2018

本文为大家分享了微信小程序模板template的使用方法,供大家参考,具体内容如下

效果图

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

微信小程序模板(template)使用详解

微信小程序模板(template)使用详解

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

template模板

1、模板存放的位置以及使用模板页面存放的位置

微信小程序模板(template)使用详解

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>
  • 用import 将模板引入;
  • 使用模板,template 的is 属性和模板中:name 属性对应,表示你要使用的具体模板,data 属性是模板中要使用的数据,注意数据结构要相同;
  • 可以直接循环模板,需要也可以在模板外加一层进行循环。

WXSS

此处将WXSS引入到全局!

@import "./template/list.wxss";
  • 直接使用import 引入列表的WXSS;
  • 此代码可以放在当前页面的WXSS(index.wxss)中,也可以放在全局wxss(app.wxss)中 ;
  • 建议:如果项目需要大量使用一个模板,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>

总结

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

DEMO下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_05_原型继承原理
Oct 13 Javascript
javascript各浏览器中option元素的表现差异
Apr 07 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
鼠标悬浮停留三秒后自动显示大图js代码
Sep 09 Javascript
基于JavaScript实现弹出框效果
Feb 19 Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 Javascript
angularjs使用directive实现分页组件的示例
Feb 07 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
解析Vue 2.5的Diff算法
Nov 28 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
Jan 19 Javascript
vue基于两个计算属性实现选中和全选功能示例
Feb 08 Javascript
vuex actions异步修改状态的实例详解
Nov 06 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
Jan 31 #Javascript
js保留两位小数方法总结
Jan 31 #Javascript
微信小程序icon组件使用详解
Jan 31 #Javascript
详解Chai.js断言库API中文文档
Jan 31 #Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 #Javascript
详解Vue单元测试Karma+Mocha学习笔记
Jan 31 #Javascript
Vue单页面应用保证F5强刷不清空数据的解决方案
Jan 31 #Javascript
You might like
PHP新手上路(八)
2006/10/09 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
浅析Yii2 GridView实现下拉搜索教程
2016/04/22 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
精通Javascript系列之数值计算
2011/06/07 Javascript
jquery 新建的元素事件绑定问题解决方案
2014/06/12 Javascript
理解javascript中的回调函数(callback)
2014/09/02 Javascript
script标签属性用type还是language
2015/01/21 Javascript
javascript每日必学之继承
2016/02/23 Javascript
JS for...in 遍历语句用法实例分析
2016/08/24 Javascript
详解Jquery 遍历数组之$().each方法与$.each()方法介绍
2017/01/09 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
Layui 设置select下拉框自动选中某项的方法
2018/08/14 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
原生JavaScript实现的无缝滚动功能详解
2020/01/17 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python实现SQL注入检测插件实例代码
2019/02/02 Python
对python 自定义协议的方法详解
2019/02/13 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
一套英文Java笔试题面试题
2016/04/21 面试题
Java servlet面试题
2012/03/04 面试题
中餐厅主管的职责范文
2014/02/04 职场文书
毕业证委托书范文
2014/09/26 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
详解MySQL事务的隔离级别与MVCC
2021/04/22 MySQL
自己搭建resnet18网络并加载torchvision自带权重的操作
2021/05/13 Python
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL