收藏
回答

JS 与 WXML 通信时,对象序列化的问题

问题模块 框架类型 问题类型 操作系统版本 手机型号 微信版本
客户端 小程序 Bug iOS 12; Android 8.1 iPad Pro 9.7; Samsung S8 6.7.3

- 当前 Bug 的表现(可附上截图)




- 预期表现



- 复现路径


由于 wxml 无法调用 js 的函数,且渲染线程与逻辑线程通过 JSON 进行数据交互,于是很自然地想到重载对象的 toJSON 方法,在 wxml 中显示为字符串,但在 js 中仍然保存对象。


这个方法在开发工具,测试号真机,代码片段真机上都可以正常显示,但是在正式项目的真机上,始终将对象序列化为 [object Object].


- 提供一个最简复现 Demo

```js

class SomeClass {

 constructor(props) {

   this.a = props

}


 toJSON() {

   return this.a

}

}


Page({

 data: {

 obj: new SomeClass('23')

}

})

```


```wxml

<view>{{ obj }}</view>

```

最后一次编辑于  2018-11-23
回答关注问题邀请回答
收藏

2 个回答

  • 黑白埋
    黑白埋
    2018-11-26

    用wxs

    2018-11-26
    赞同
    回复
  • Idan Loo
🤑
    Idan Loo 🤑
    2018-11-23

    没人来帮我看看吗?还是没有人用这种写法

    2018-11-23
    赞同
    回复