RT,官方这个demo的评论列表有许多人都有跟我一样的问题。
charts-demo
我查看demo发现通信只有一办法:在view节点上绑定onClick
点击事件传入参数,在renderjs内调用默认script内的onViewClick
方法进行通信。
onClick(event, ownerInstance) {
// 调用 service 层的方法
ownerInstance.callMethod('onViewClick', {
test: 'test'
})
}
我目前的需求:在uni小程序内使用renderjs发起action数据请求,请求结束后把响应数据传输给原始script内的data对象。
h***@163.com (作者)
1.不能直接使用原来封装对actions请求吗?
2callMethod需要点击事件传入ownerInstance对象才能调用,有其他主动传递给data的方法吗?
2020-05-29 11:37
DCloud_UNI_FXY
回复 h***@163.com: 1.不能,2.临时解决方案:
2020-05-29 13:56
Basil
回复 DCloud_UNI_FXY: 我需要在页面初始化请求一个接口,把返回数据传递到非renderjs或者vuex。我看了你UniViewJSBridge.publishHandler的方式,请问 cid: this._$id, 是传什么参数呢
2020-06-01 11:08
DCloud_UNI_FXY
回复 Basil: 在renderjs的生命周期,如created等里边,直接发请求,然后获取vm上的_$id
2020-06-01 14:33
Basil
回复 DCloud_UNI_FXY: 非常非常感谢您!问题已解决!感谢!
2020-06-01 14:46
h***@163.com (作者)
回复 DCloud_UNI_FXY: 老哥科普一下vm上的_$id有啥用,咋获取呢..
2020-06-02 09:17
DCloud_UNI_FXY
回复 h***@163.com: 框架内部属性,目前提供的是临时解决方案,已经知道是vm上的属性了,那生命周期,methods里的this不就是vm么。可以直接this._$id
2020-06-02 10:09
h***@163.com (作者)
回复 DCloud_UNI_FXY: 在renderjs内发起请求,发现uni.request不能使用,直接报uni.request is not function,是只能用plus的方式请求吗?
2020-06-02 11:08
h***@163.com (作者)
回复 DCloud_UNI_FXY: renderjs的onLoad方法拿不到参数,只有在h5上可以,但是h5又不支持上面那个UniViewJSBridge.publishHandler方法
2020-06-02 16:57
DCloud_UNI_FXY
回复 h***@163.com: 条件编译,h5平台直接使用this调用方法,app平台使用UniViewJSBridge,目前App平台无法直接拿到参数,可以考虑使用plus.storage在标准onLoad存储,然后renderjs的onLoad中读取一下
2020-06-03 09:58
h***@163.com (作者)
回复 DCloud_UNI_FXY: renderjs的onLoad内的打印都不会执行,目前感觉是没有进入onLoad生命周期的。。https://ask.dcloud.net.cn/question/98228
2020-06-03 10:43
DCloud_UNI_FXY
回复 h***@163.com: renderjs暂不支持onLoad方法,可以换到mounted内试试
2020-06-03 11:42
DCloud_UNI_FXY
回复 h***@163.com: 2.7.12版本后支持该业务需求,最终调用方式如下:
2020-06-03 11:45
h***@163.com (作者)
"区分平台使用plus的xhr或标准xhr发起请求",这句讲仔细点是否是APP-PLUS编译条件下用plus.net.XMLHttpRequest方法,H5编译条件下用标准的XMLHttpRequest。。。
2020-06-04 19:43
DCloud_UNI_FXY
回复 h***@163.com: app-plus下,可以使用plus发起请求,h5平台,可以直接使用uni.request
2020-06-05 16:35
明l天
回复 DCloud_UNI_FXY: 你好,UniViewJSBridge.publishHandler方法中method,是对应service层的方法吗,怎么不执行。我使用2.7.13.20200615-alpha版本,this.$ownerInstance.callMethod方法还是不行,报错callMethod of undefined
2020-06-18 15:25
DCloud_UNI_FXY
回复 明l天: 原封不动拷贝我上边的代码测试,自己写的代码,注意this作用域
2020-06-18 17:04
明l天
回复 DCloud_UNI_FXY: 就是复制上边的代码,callMethod of undefined,截图在下边
2020-06-19 09:36
1***@qq.com
renderjs内的方法要怎样一打开页面时就执行?
2023-03-28 14:04