小程序-模板

作者: beatzcs | 来源:发表于2018-03-19 16:00 被阅读66次

模板,顾名思义,创建一个可以不断复制粘贴的板块。WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。

使用场景

①列表的item项多次使用
②想单独抽取出来的布局
③功能比较独立的视图

定义模板

比如,很多列表页面底部都需要一个加载更多的loading效果。代码如下:
load-more.wxml :

<template name='loading'>
  <view wx:if='{{loading}}' class='loading-more'>
    <image src='/images/icon/loading.gif' />
    <text>加载中...</text>
  </view>
</template>

根标签需要使用<template></template>标签,name属性是此模板的名字,在使用的时候会用到。template标签里面的就写自己想实现的效果的布局。

load-more.wxss :

.loading-more {
  text-align: center;
  padding: 30rpx;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.loading-more image {
  width: 30rpx;
  height: 30rpx;
}

.loading-more text {
  margin-left: 10rpx;
  font-size: 10pt;
  color: #888;
}
使用模板

usepage.wxml:

<import src='/template/load-more/load-more.wxml' />
<template is='loading' data='{{loading}}'></template>

在wxml中使用import导入模块,is属性即是导入模板的名字,data属性是传入在模板中使用的数据。
usepage.wxss:

@import '/template/load-more/load-more.wxss';

在wxss中使用@import导入模块的样式。

is和data

is 属性可以使用 Mustache 语法,来动态决定具体需要渲染哪个模板

就是可以使用三目运算符来选择使用那个模板。

<template is="{{num % 2 == 0 ? 'even' : 'odd'}}"/>

通过data传入模板中使用的数据,模板有自己的作用域,只能使用 data 传入的数据以及模版定义文件中定义的 <wxs /> 模块。

<!--  展开传入  -->
<template is='menu' data='{{posItem,posItem2,posItem3}}'></template>

<!--  折叠传入  -->
<block wx:for='{{carList}}'>
    <template is='car_old' data='{{...item}}'></template>
</block>

第一种的使用方式就是使用传入的名称。
第二种方式使用...来展开item这个object变量,使用时即可直接写对应的名称;如果不写成...item而写成item,在使用时就需要用item.xxx来使用。

example

car-new.wxml:

<template name='car_new'>

  <view class='car-new-item' data-cid='{{item.carId}}' data-ctype='{{item.type}}' catchtap='showCarDetail'>
    <image src='{{item.imageUrl}}' />
    <view class='name text-one'>{{item.categoryName}}</view>
    <view class='kind text-one'>{{item.modelName}}</view>
    <view class='time'>
      <text>{{item.time}}</text>
    </view>
    <view class='bottom'>
      <text class='price'>门店价 {{item.price}}</text>
    </view>
  </view>

</template>

car-new.wxss:

.car-new-item {
  width: 49%;
  font-size: 11pt;
  color: #353535;
  padding: 10rpx 0rpx;
}

.car-new-item view {
  margin-top: 10rpx;
}

.car-new-item image {
  width: 100%;
  height: 250rpx;
  border-radius: 5rpx;
}

.car-new-item .name {
  font-weight: 800;
}

.car-new-item .kind {
  font-size: 9pt;
}

.car-new-item .time {
  font-size: 9pt;
  color: #888;
}

.car-new-item .time view {
  width: 2rpx;
  height: 20rpx;
  background: #eee;
  margin: 0rpx 10rpx;
  display: inline-block;
}

.car-new-item .bottom {
  font-size: 9pt;
  color: #888;
}

.car-new-item .bottom .price {
  font-size: 11pt;
  color: #e64340;
  margin-right: 10rpx;
  font-weight: 800;
}

.car-new-item .bottom .price-old {
  font-size: 9pt;
  color: #888;
}

使用:
car.wxml:

  <import src='/template/car-new/car-new.wxml' />
  <view>
    <block wx:for='{{carList}}'>
      <template is='car_new' data='{{...item}}'></template>
    </block>
  </view>

car.wxss:

@import '/template/car-new/car-new.wxss';

car.js是请求数据并赋值的过程,代码略。
实现效果:


load-more.gif

相关文章

  • 小程序制作案例

    小程序制作案例 1.选择模板. 选择小程序制作下的模板市场,选择合适的模板点击使用模板。 2 .初步认识模板界面的...

  • 微信小程序之模板消息

    模板消息 参考:官方文档 微信小程序网页上创建模板消息模板 创建完的模板消息如下: 小程序前台页面准备 官方文档原...

  • 微信小程序模板开发与定制开发的区别?

    一、什么是模板开发与定制开发? 1、 微信小程序模板开发 正如字面意思,微信小程序模板开发,通俗的说就是套模板,内...

  • 2018-12-24

    微必知科技,专业的小程序商城、小程序模板开发公司 你可曾听说过“小程序模板信息”?不少小程序商家正悄然经过这个功用...

  • 微信小程序&PHP 发送模板消息通知

    注意    模板消息接口需写在后台服务器上。【追加:目前微信小程序只能给本人反馈】    模板消息模板需要在小程序...

  • 一文带你了解小程序开发模板功能、使用教程

    现在,不懂技术的普通人也能开发小程序,一般是通过小程序开发模板来快速生成。小程序模板能做什么?这取决于模板的类型,...

  • 微信小程序开发平台招商加盟

    微信小程序开发 我们做:简单小程序 门店小程序,附近小程序 功能型,预约型小程序 企业模板小程序 点餐外卖小程序 ...

  • 微信小程序之模板(template)

    微信小程序----模板(template)模板关于引用 1.什么是模板 WXML提供模板(template),可以...

  • 一文带你了解小程序模板平台

    随着微信小程序的普及,各种小程序模板平台也开始出现。通过这些模板,不懂技术的小白也能快速生成自己的小程序了。但还有...

  • 2018-12-20

    微必知科技,专业的小程序商城、小程序模板开发公司 随着用户基数的不断添加,现在市面上已经有许多小程序模板工具,而这...

网友评论

    本文标题:小程序-模板

    本文链接:https://www.haomeiwen.com/subject/riboaxtx.html