找回密码
 立即注册

QQ登录

只需一步,快速开始

波上寒烟
金牌服务用户   /  发表于:2021-6-22 18:25  /   查看:2893  /  回复:8
spreadjs 14 在vue 页面使用自定义函数得时候如何获取当前页面数据
在A页面定义的公式,在B页面使用的时候,要如何在函数里获取B页面的data数据呢 image.png630351256.png

spjsV14.rar

208.09 KB, 下载次数: 303

8 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-23 08:53:17
沙发
A与B是两个页面吗?如果是两个页面的话,可以考虑下面的思路:
用websocket做页面之间的通信,将A页面需要获取B页面参数的请求通过websocket发给B页面,之后B页面上调用SpreadJS的API去获取参数后,通过websocket回传给A页面。
回复 使用道具 举报
波上寒烟
金牌服务用户   /  发表于:2021-6-23 09:05:23
板凳
Clark.Pan 发表于 2021-6-23 08:53
A与B是两个页面吗?如果是两个页面的话,可以考虑下面的思路:
用websocket做页面之间的通信,将A页面需要 ...

是两个两个不同的vue组件,我的意思是在调用自定义公式的时候获取当前页面的参数,不是两个页面之间的数据交互
回复 使用道具 举报
波上寒烟
金牌服务用户   /  发表于:2021-6-23 09:08:06
地板
Clark.Pan 发表于 2021-6-23 08:53
A与B是两个页面吗?如果是两个页面的话,可以考虑下面的思路:
用websocket做页面之间的通信,将A页面需要 ...

比如A页面使用这个自定义函数的时候,在函数里做一个异步的接口请求,这个请求的参数的A页面的id。那我在B页面使用这个函数的时候,做这个异步请求获取的参数是B页面的参数id
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-23 09:25:47
5#
那你这个就是两个页面之间的通信,请参考我楼上的回复
回复 使用道具 举报
波上寒烟
金牌服务用户   /  发表于:2021-6-23 09:47:13
6#
Clark.Pan 发表于 2021-6-23 09:25
那你这个就是两个页面之间的通信,请参考我楼上的回复

这么硬核的吗,哪个API在函数计算的时候可以获取页面的参数呢
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-23 09:55:39
7#
您提的相关问题已经脱离SpreadJS了。SpreadJS的实例的作用域尽在当前的页面的js中。您如果想获取另一个页面的SpreadJS对象,那么只能通过页面间通信的方式(其实这跟有没有SpreadJS已经没有关系了,那么不用SpreadJS,把上述问题换成获取另一个页面中的随便什么东西也是同一个道理)
至于您问的哪个API在函数计算的时候可以获取页面的参数呢,那要看你获取什么了,获取单元格的值就是getValue,获取样式就是getStyle......
回复 使用道具 举报
波上寒烟
金牌服务用户   /  发表于:2021-6-23 10:57:53
8#
Clark.Pan 发表于 2021-6-23 09:55
您提的相关问题已经脱离SpreadJS了。SpreadJS的实例的作用域尽在当前的页面的js中。您如果想获取另一个页面 ...

我找到解决方案了,需要重新注册公式
回复 使用道具 举报
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-23 11:22:46
10#

是的,如果是加载spread外部的自定义函数,需要重新注册。

问题解决了就好,那本帖就先结贴了,有问题欢迎另开新帖。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部