收藏
回答

自定义组件properties传递对象修改问题

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug 自定义组件问题 客户端 6.6.7 2.1.3

一、问题描述:

1、自定义了头部导航,写了一个公共组件<mp-header>,<mp-header>组件properties 接受一个header对象,在A页面中引入了<mp-header>组件,A页面的js中定义

data:{

    header: {

        title: "",

        back:function(){

            //返回指定页面

        }

    }

}

2、现在有这样一个问题,当我不修改header里面title的时候,<mp-header>组件中能正确接受到header里面的back函数,当我修改header里面的title之后,<mp-header>组件中接收到的back是个null;



3、在页面中修改header的方法如下:

var header = this.data.header;

    header.title = title

this.setData({

    header: header

})

请官方大神指导

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

2 个回答

  • Meet you
    Meet you
    2019-12-18

    楼主,请问你这个为题解决了吗?

    2019-12-18
    有用
    回复
  • 卢霄霄
    卢霄霄
    2018-08-15

    按理说,最开始的function都不应该能传过去啊

    2018-08-15
    有用
    回复 2
    • 孙文德
      孙文德
      2018-08-15

      可以的,vuejs 是可以传function的,也希望可以,能传function感觉更灵活,下面是<mp-header>中的goback方法

      goback:function(){

          if (HT.isFunction(this.data.back)){

              this.data.back();

          }else{

              wx.navigateBack();

          }

      }



      2018-08-15
      回复
    • 卢霄霄
      卢霄霄
      2018-08-15回复孙文德

      vue是可以的,但是小程序组件 properties 里的类型本来就没有 function呢。确实,如果可以传,很多回调之类的,就可以传参进去了,比较自然,不需要拐弯抹角的调用

      2018-08-15
      回复
登录 后发表内容