博主信息
博文 8
粉丝 0
评论 1
访问量 21841
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
小程序 template传递数据两种方式/setData修改数组或对象
鑫仔的博客
原创
3238人浏览过

根据官方给的文档知道template的用法:

第一步:先创建一个模板文件夹(templateA),只需要写wxml和wxss两个文件。

templateA.wxml文件:

12508684-13ec8fe87acf57a8.png

templateA.wxml

templateA.wxss文件:写在wxml用到的class样式

第二步:使用模板

12508684-82a337b07bcd59eb.png

传递数据方法1

先说一下怎么引入模板,假设我们在index页面中使用templateA模板,首先我们在index.wxml文件中引入templateA.wxml文件,格式:<import src="../templateA/templateA.wxml" />写在最顶部噢!然后在你需要的地方把模板写进去,格式:<template is='templateA' data="{{...item}}" />这里面的data传值就是官方给的方式。最后把templateA.wxss文件放在index.wxss中,格式:@import "../templateA/templateA.wxss";注意:item对象是写在index.js中的data里面!!!

在官方给的data的传递数据中,如果想修改item对象里的属性值(比如msg属性),可以用以下方法实现:首先我们要知道item是一个对象,index、msg、time分别为其三个属性。写成...item的形式是为了方便在模板中的变量书写不用写上对象名,直接用属性。如果把3个点去掉写成data="{{item}}"的形式的话,在模板中书写就需要带上对象名,例如{{item.msg}}。

然后我们在index.js的onload方法中修改属性值:

var msg2 = "item.msg";      //先用一个变量,把item.msg用字符串拼接起来

  this.setData({

[msg2]:'我被修改了';          //使用[]将变量包起来,为其赋值

})

扩展一下:如果是对象数组的一个属性值

12508684-deba532b56cf7bed.png

数据


12508684-deba532b56cf7bed.png

修改数据

接下来我们说说第二种data的数据传递方式,也可以认为是传多个数据到模板

1、<template is='templateA' data="{{...item,index2:index2,index3:index3}}" />

用逗号分开,item 是对象,index2和index3是单个数据,要用键值对

2、<template is='templateA' data="{{...item,...{index2:index2,index3:index3} }}" />

用逗号分开,item 是对象,把index2和index3也写成对象,注意最后两个花括号和前面的花括号要隔开,不然会报错


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学