小程序WXML之模板

WXML提供一种比较特殊的标签模板(template),可以在模板中定义代码片段,然后在不同的地方调用。这个有点类似C和java里面的函数方法。

定义模板


我们怎样去定义一个模板呢?模板的标签是<template/>,使用name属性,作为模板的名字。然后在<template/>内定义代码片段,如:

<!--
  index: int
  msg: string
  time: string
-->
<template name="msgItem">
  <view>
    <text> {{index}}: {{msg}} </text>
    <text> Time: {{time}} </text>
  </view>
</template>
模板定义好了,怎样去使用它呢?

使用模板


使用is属性,声明需要的使用的模板,然后将模板所需要的data传入,如:

1.test.wxml

<template is="msgItem" data="{{...item}}"/>
2.test.js文件

Page({
  data: {
    item: {
      index: 0,
      msg: 'this is a template',
      time: '2016-09-15'
    }
  }
})
is属性中的值是定义模板name属性的值,即调用了msgItem模板,data属性是向模板导入数据,就像C和java向函数传值一样。至于“{{...item}}”中“...”在数据绑定的时候已经介绍过了,是对象的扩展运算符,是显示对象中的值的作用。

程序运行结果

is属性还可以可以使用Mustache语法,在运行时来决定具体需要渲染哪个模板:

<template name="odd">
  <view> odd </view>
</template>
<template name="even">
  <view> even </view>
</template>

<block wx:for="{{[1, 2, 3, 4, 5]}}">
    <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/>
</block>
注意:模板拥有自己的作用域,只能使用data传入的数据。

最后希望各位客官老爷门给我一个继续写这个小程序技术贴的动力,也希望大家共同进步,帅气的客官可以扫一下下面的二维码给我捐点码字的银子,谢谢!!!微笑


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码搬运工阿新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值