转发:微信小程序-template模板使用
转载于CSDN--【向朔1992】处。(部分内容根据实际情况有所修改)
小程序实现主页面调用次级页面的wxml页面内容,如下图:

根据上图,我们可以将图片和图片信息作为一个goodsList.wxml 次页面,然后整个页面当做主页面home.wxml页;
模板
一、定义模板
1、新建一个template文件夹用来管理项目中所有的模板;
2、新建一个courseList.wxml文件来定义模板;
3、使用name属性,作为模板的名字。然后在<template/>内定义代码片段。
下面是goodsList.wxml代码:区分左右两边的数据的是下面第二行的三元运算符
<template name="goodsList">
<view class="goods-item{{index % 2 == 0?' odd':''}}">
<view class="goods">
<view class="goods-tag ten" />
<navigator url="../xiangqing/xiangqing">
<image class="goods-image" src="{{goods.goods.imgUrl}}" />
</navigator>
<view class="desc-wrapper">
<view class="goods-desc">{{goods.goods.name}}</view>
</view>
</view>
<view class="operating">
<view class="tips">状态<span>{{goods.takeRate * 100}}%</span></view>
<view class="progress" style="width: calc(100% - 76px);"></view>
<view class="progress-take" style="width: calc((100% - 76px) * {{goods.takeRate}} );"></view>
<view class="btn">加入清单</view>
</view>
</view>
</template>
二、使用模板
1、使用 <import scr=" "> 标签,在主页面引入需要使用的次级模板wxml
2、将模板所需要的 data 传入(这里的数据,我们在home.js文件中定义好),一般我们都会使用列表渲染。
<import src="tpl/goodsList.wxml"/>
<block wx:for="{{goodsList}}">
<template is="goodsList" data="{{index:index,goods:item}}"/>
</block>
解释:1)首先引入次级模板文件,然后像普通的后台语言如php的模板引擎一样,wx:for也可以看成是一个模板引擎,wx:for就是解析数组,循环打印变量。
2)is作用就是确认引用模板,item就是数组的当前变量,index就是数组元素的下标。
3)上面的wx:for="{{goodsList}}",是js文件的多维数组数据,不是模板文件名,这里很重要。
4)当然,你也可以这样写:
<import src="tpl/goodsList.wxml"/>
<block wx:for="{{goodsList}}">
<template is="goodsList" data="{{...item}}"/>
</block>
data 是要模板渲染的数据,data="{{...item}}" 写法是ES6的写法,item是wx:for当前项,... 是展开运算符,在模板中不需要再{{item.goods}} 而是直接{{goods}} 。
三、模板样式
1、在新建模板的时候同时新建一个courseList.wxss 的文件,与CSS同样的写法控制样式。
2、在需要使用模板的页面 .wxss文件中import进来;或者直接在app.wxss中引入,这样只需要一次引入,其他文件就不用引入了。
@import "../template/courseList.wxss";
四、主页面home.wxml示例:
...
<view class="sort-panel" style="position:{{sortPanelPos}};top:{{sortPanelTop}}px">
<view class="sort-item comb on">人气</view>
<view class="sort-item">最新</view>
<view class="sort-item">进度</view>
<view class="sort-item">
</view>
</view>
<view class="goods-panel">
<import src="tpl/goodsList.wxml"/>
<block wx:for="{{goodsList}}">
<template is="goodsList" data="{{index:index,goods:item}}"/>
</block>
</view>
...
转发:微信小程序-template模板使用的更多相关文章
- 微信小程序 template模板使用
参考文章: 微信小程序-template模板使用
- 微信小程序template模板与component组件的区别和使用
前言: 除了component,微信小程序中还有另一种组件化你的方式template模板,这两者之间的区别是,template主要是展示,方法则需要在调用的页面中定义.而component组件则有自己 ...
- [转]微信小程序-template模板使用
本文转自:http://blog.csdn.net/u013778905/article/details/59646241 如下图,我在做华企商学院小程序的时候,课程搜索结果页和课程列表页结构是完全一 ...
- 微信小程序-template模板
============================= 构建template模板 ============================= 1.分析得出共为 ...
- 微信小程序发送模板消息
微信小程序发送模板消息 标签(空格分隔): php 看小程序文档 [模板消息文档总览]:https://developers.weixin.qq.com/miniprogram/dev/framewo ...
- 微信小程序开发--模板(template)使用,数据加载,点击交互
微信小程序视图层提供了 模板(template),可以在模板中定义代码片段,然后在不同的地方调用.结果在数据渲染那懵逼了.按照官网上对模板的说明和对数据的加载. 1.定义模板 使用name属性,作为模 ...
- 微信小程序开发——模板中加载html代码
最新方法可以使用微信小程序提供的 rich-text (富文本)组件直接写解析html,详见 rich-text: <rich-text class='f13 c_9' nodes=" ...
- 微信小程序 template添加点击事件
介绍template是微信小程序提供的模板,可以在模板中定义代码片段,然后在不同的地方调用. 简单使用定义template因为项目中可能会需要到不止一个template,所以最好新建一个文件夹来存放t ...
- 微信小程序——template详细使用
WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用减少冗余代码. 1.1定义模板 1.1.1.创建模板文件夹 1.1.2.使用 name 属性,作为模板的名字.然后 ...
随机推荐
- SVN环境
SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上 ...
- Mybatis 传入List类型参数,报错:There is no getter for property named '__frch_item_0' in
错误如下: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.reflection.Re ...
- Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g
Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g 系统环境: 操作系统: RedHat EL6 Oracle: Oracle 10g and Oracle 11 ...
- C/C++字符串查找函数
C/C++ string库(string.h)提供了几个字符串查找函数,如下: memchr 在指定内存里定位给定字符 strchr 在指定字符串里定位给定字符 strcspn 返回在字符串str1里 ...
- Informatica 常用组件Lookup之一 概述
转换类型:被动.已连接/未连接 在映射中使用查找转换以从平面文件或关系表.视图或同义词查找数据.您可以从 PowerCenter Client 和 PowerCenter Server 均连接至的任何 ...
- go语言基础之同级目录
1.同级目录 分文件编程(多个源文件),必须放在src目录 同一个目录,包名必须一样 设置GOPATH环境变量 go env 查看go相关环境路径 GO PATH: 在windows系统中,添加go环 ...
- RV 多样式 MultiType 聊天界面 消息类型 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- NYOJ-267 郁闷的C小加(二)
郁闷的C小加(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 聪明的你帮助C小加解决了中缀表达式到后缀表达式的转换(详情请参考“郁闷的C小加(一)”),C小加很 ...
- RHEL7系统修复rm -rf /boot /etc/fstab
RHEL7/Centos7系统发布这么长时间了,大家都知道这个系统的一个特点就是用systemctl代替了init系统守护进程,系统越来越模块化了.在新版的系统中许多的命令也发生了改变,grub也变为 ...
- SharePoint 2013网站突然不能登录了。
SharePoint 2013网站突然不能登录了,访问的时候,总是报错: The list has not shared with you. 原因: 原来我不知道什么时候把web applicat ...