收藏
回答

给自定义组件传递的函数 property 不生效?

【Demo 代码】

页面代码:

// js
Page({
  onLoad() {
    this.setData({
      obj: {
        inner: () => console.log('Inner')
      },
      outter: () => console.log('Outter')
    })
  }
})

// wxml
<uploader outter="{{outter}}" inner="{{obj.inner}}"></uploader>


组件代码:

// js
Component({
  properties: {
    outter: null,
    inner: null
  },
  methods: {
    handleTap () {
      console.log('uploader click: ', this.data);
    }
  }
})

// wxml
<button bindtap="handleTap">click me</button>


【复现步骤】

点击按钮,打印:


【期望结果】

inner 有值

【版本信息】

基础库 2.25.0

模拟器、真机中 inner 皆是 null。

回答关注问题邀请回答
收藏

2 个回答

  • brave
    brave
    2022-07-08

    2022-07-08
    有用 2
    回复 1
    • 健
      2022-07-09
      你的 testfunc 如果嵌套在一个对象内,也是不行的。看我的 Demo。
      2022-07-09
      回复
  • 茜茜又困了🐽
    茜茜又困了🐽
    2022-07-08

    这样赋值

    2022-07-08
    有用
    回复 2
    • 健
      2022-07-09
      这样是可以,但反馈这个问题的目的不在于如何用 hack 写法绕过。而是希望官方了解并修复我反馈的 bug。
      2022-07-09
      回复
    • 茜茜又困了🐽
      茜茜又困了🐽
      2022-07-09回复
      这样赋值本来就不严谨,不符合规则,setData时的数据应该是可以被JSON化的数据。
      这个问题应该就涉及到setData是如何进行封装的了
      2022-07-09
      回复
登录 后发表内容