underfined
underfined
  • 发布:2020-09-01 10:31
  • 更新:2020-09-01 11:01
  • 阅读:454

新版本参数传递问题

分类:HBuilderX

请问下大家新版本更新之后的返回上一级页面传递参数方法失效了(之前使用的是 var pages = getCurrentPages();) .现在 开始使用 uni.$emit 方法,可以接收,可以打印参数,但是在页面上不会去触发更新。大家有遇到过这种问题吗

部分代码

uni.$emit('updateaddress',e)
uni.$on('updateaddress', function(data) {  
                console.log(data)  
                this.addressData = data  
                console.log(this.addressData.username)  

                // this.$set(this.addressData,data)  
            })

参数可以正常打印,但是就是页面无法去刷新

使用版本是 Mac 2.8.8.20200820

补充编辑:
在接收监听函数里面

uni.$on('updateaddress', function(data) {  
                console.log(data)  
                this.addressData = data  
                console.log(this.addressData.username)  

                // this.$set(this.addressData,data)  
                uni.showToast({  
                    title:this.addressData.username,  
                    icon:'none'  
                })  
            })

其中的 uni.showToast 可以正常显示,没有问题,

在页面之中渲染

<view class="">  
            <text>{{addressData.username}}</text>  
            <text>13</text>  
        </view>
2020-09-01 10:31 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com - 90it

有可能是this指向问题 试试 let that=this that.addressData = data

  • underfined (作者)

    尝试了下没有作用,但是使用了另外一种方法

    uni.$on("updateaddress",res=>{

    this.addressData = res

    })

    这样的话 是可以更新视图的, 不确定出现的这个问题是我代码的问题还是这个方法本身的问题

    2020-09-01 11:10

  • 2***@qq.com

    回复 underfined: 方法本身已经执行了,应该跟方法没有关系

    2020-09-01 11:21

该问题目前已经被锁定, 无法添加新回复