美文网首页小程序点点滴滴程序员
小程序 template传递数据两种方式/setData修改数组

小程序 template传递数据两种方式/setData修改数组

作者: 抬头纹小鑫 | 来源:发表于2018-11-29 19:04 被阅读87次

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

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

    templateA.wxml文件:

    templateA.wxml

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


    第二步:使用模板

    传递数据方法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]:'我被修改了';          //使用[]将变量包起来,为其赋值

    })

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

    数据 修改数据

    接下来我们说说第二种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也写成对象,注意最后两个花括号和前面的花括号要隔开,不然会报错

    相关文章

      网友评论

        本文标题:小程序 template传递数据两种方式/setData修改数组

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