【微信小程序】逻辑层、视图层传输数据的一点细节

以下两块代码,目的都是将对象由 JS 传输给 wxml。

假设已经在 index.js 中获取到了一个名为 object 的对象,对象的内容如下

object {
    key: value,
}

在 index.js 中

...
  data: {
  },
...
    this.setData(
    object,
    );
...

第二种形式如下:

...
  data: {
    object: {}
  },
...
    this.setData({
      object, 
    /**
    * object: object 的简写。这种简写只适用于 键值对 同名的情况。 
    * 相当于 object: object,
    */
    });
...

第一种写法相当于将 object 当成整个 data 对象。在对应的 wxml 中,引用其内容时直接引用即可:

<tag attribute="{{value}}">{{value}}</tag>

第二种写法将 object 作为一个 data 对象的属性值传入,并将这个值赋予同名属性,此时,。在对应的 wxml 中,引用其内容时需要加上 object(此时的 object 是属性名,而不是对象名,虽然它其实就是指向的对象,但是多了一步):

<tag attribute="{{object.value}}">{{object.value}}</tag>

虽然第二种写法看似比第一种麻烦些,但是由于原先的对象,现在只是作为一个属性值被 data 对象存储(第一种方法相当于直接将原先的对象存储为 data 对象),这意味着 data 可以同时存储多个需引用的对象,再需要引入的对象变多时,这样写更简单、更灵活,且在页面中的可读性更强。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

狂杀傲骨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值