Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

function里的参数,只能是单一取值表达式或者值,不能是另一个计算表达式 #198

Closed
WattledGnata opened this issue Aug 29, 2022 · 5 comments
Assignees

Comments

@WattledGnata
Copy link
Collaborator

描述这个问题

我扩展了一个方法(任意方法)。 然后发现,方法里的参数,只能传一个取值表达式, 或者传一个确定的 值(Int/String 。。。)。
当我往这个方法里放一个计算的表达式时,会报错
StringOfIntValue((($target.poll.options[0].voting_count) / ($target.poll.voting_count))) + '%'

image

请清晰和简明的描述这个问题。

复现步骤

可通过分步复现该问题:

  1. 到什么页面 '...'
  2. 点击 '....'
  3. 滑动到 '....'
  4. 产生错误

预期正确的结果

请清晰和简明的描述你预期正确的结果。

截图

如果可以的话,添加截图来帮助解释您的问题。

客户端 (请填写如下信息) :

  • 设备: [e.g. iPhone6]
  • 系统: [e.g. iOS8.1]
  • GaiaX SDK版本 [e.g. 0.1.0]
  • Gaia Studio版本 [e.g. 0.1.0]
  • GaiaX 模板文件和模板数据

崩溃日志
在这里添加崩溃日志

附加信息
在这里添加有关该问题的任何其他信息。

@biezhihua biezhihua self-assigned this Aug 30, 2022
@biezhihua
Copy link
Collaborator

@WattledGnata 感谢反馈,我会尽快跟进处理

@MXPDS6688
Copy link
Collaborator

MXPDS6688 commented Aug 30, 2022

image
目前表达式的函数参数暂时不支持嵌套表达式使用,详情可以查看表达式文档
请问是在什么场景下需要用到函数嵌套表达式的能力呢?我们这边可以尝试拓展一下这个能力。 @WattledGnata

@WattledGnata
Copy link
Collaborator Author

我自己的场景是,接口下发了几个投票数的东西,需要我自己算一个投票的比例。 gaia这边因为计算后,结果是float,所以我需要整理成可展示的Int,因此使用了一个方法。
然后这个投票比例,由于有本地有投票行为,会改变这个投票数,所以也不好让后端直接下发可展示的比例给到端上。

折中的做法是,客户端发生投票行为时,native把比例算好,然后交给动态化,动态化只展示这个比例。。。

当然这个场景可能不一定是大家用动态化的通用场景,仅供参考吧。。

@biezhihua
Copy link
Collaborator

我自己的场景是,接口下发了几个投票数的东西,需要我自己算一个投票的比例。 gaia这边因为计算后,结果是float,所以我需要整理成可展示的Int,因此使用了一个方法。 然后这个投票比例,由于有本地有投票行为,会改变这个投票数,所以也不好让后端直接下发可展示的比例给到端上。

折中的做法是,客户端发生投票行为时,native把比例算好,然后交给动态化,动态化只展示这个比例。。。

当然这个场景可能不一定是大家用动态化的通用场景,仅供参考吧。。

@MXPDS6688 看一下这个场景。

@MXPDS6688
Copy link
Collaborator

MXPDS6688 commented Aug 31, 2022

我自己的场景是,接口下发了几个投票数的东西,需要我自己算一个投票的比例。 gaia这边因为计算后,结果是float,所以我需要整理成可展示的Int,因此使用了一个方法。 然后这个投票比例,由于有本地有投票行为,会改变这个投票数,所以也不好让后端直接下发可展示的比例给到端上。

折中的做法是,客户端发生投票行为时,native把比例算好,然后交给动态化,动态化只展示这个比例。。。

当然这个场景可能不一定是大家用动态化的通用场景,仅供参考吧。。

@WattledGnata
表达式函数嵌套表达式的能力会在后续支持
根据您目前的情况,可以考虑一个折中的方法,即拓展一个计算投票比例的函数
您原本想要实现的能力是:
StringOfIntValue((($target.poll.options[0].voting_count) / ($target.poll.voting_count))) + '%'
目前GaiaX是支持函数的拓展能力的,可以尝试拓展个新函数targetStringValue:
targetStringValue($target.poll.options[0].voting_count , $target.poll.voting_count , '%')
在函数的实现里去做对应的运算即可实现对应的能力。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants