1-10 小程序模板

以下内容来自文档:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/template.html

模板

WXML提供模板(template),可以在模板中定义代码片段,然后在不同的地方调用。

定义模板

使用 name 属性,作为模板的名字。然后在<template/>内定义代码片段,如:

<!--
  index: int
  msg: string
  time: string
-->
<template name="msgItem">
  <view>
    <text>{{index}}: {{msg}}</text>
    <text>Time: {{time}}</text>
  </view>
</template>

<template is="msgItem" data="{{...ooo}}" />


<template name="root">
  <view>
    <text>{{item.username}}: {{item.age}}</text>
  </view>
</template>

<view wx:for="{{user}}">
  <template is="root" data="{{item}}" />
</view>

<template name="aaaa">
  <view>
    <text>{{item}}</text>
  </view>
</template>

<block wx:for="{{eee}}">
<template is="aaaa" data="{{item}}" />
</block>

 

使用模板

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

//对应json数据对象
<template is="msgItem" data="{{...ooo}}" />

//对应数组对象且包含json对象
<view wx:for="{{user}}">
  <template is="root" data="{{item}}" />
</view>

//纯数组对象
<block wx:for="{{eee}}">
<template is="aaaa" data="{{item}}" />
</block>

注意:引用json数据对象时,传入参数名时 前面的三个点不能少

Page({
  data: {
    ooo: {
      index: 0,
      msg: 'this is a template',
      time: '2016-09-15'
    },

    user:[
      {
        username:"xxx",
        age:18
      },
      {
        username: "xxx",
        age: 18
      },
      {
        username: "xxx",
        age: 18
      }
    ],
    eee: [
      1, 2, 3
    ]
  }
})

 

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 传入的数据以及模板定义文件中定义的 <wxs /> 模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值