gpt4 book ai didi

javascript - Wavemaker 7 中的服务变量事件

转载 作者:行者123 更新时间:2023-11-30 17:18:41 27 4
gpt4 key购买 nike

我正在尝试手动拦截使用外部 JSON 数据的服务变量的结果。

我可以绑定(bind)一个按钮来调用 API 并将生成的 json 数据绑定(bind)到一个网格并且工作正常,但我想在手动填充网格之前预处理一些数据。

弹出的服务变量有一个事件选项卡,但如果您为 OnSuccess 或 OnResult 事件(或实际上的任何事件)选择“Javascript”,它不会在代码中为您生成 stub ,我不能在我的一生中,找出如何捕捉这些事件。

请有人能指出我正确的方向吗?该文档没有解释这一点(我已经广泛搜索)。我也会将其发布到 Wavemaker 板上,如果我也得到答案,我会交叉发布答案。

最佳答案

好的,我(最终)解决了。

假设您的 Web 服务称为 wsApiCall。 IDE 将为您创建一个名为 WsApiCallInvoke 的服务变量,这在左侧“服务”面板的“wm.ServiceVariable”下可见

单击此服务变量以调出配置面板,然后选择“事件”选项卡。为您想要的事件选择“Javascript”(在我的例子中,onResult)。

** 这不会像 6.7 那样在代码中创建 stub **

编辑:不完全正确。进一步的测试表明,只要您在保存之前将所有者从应用程序(默认)更改为页面,那么它看起来确实会创建 stub 。应用程序设置可能会在别处创建一个 stub ,但如果它确实存在,我还没有找到它。

编辑 2:找到它 :) 在 wavemaker 论坛的帮助下 - 在左侧的文件面板中,从下拉列表中选择资源,然后在“服务”文件夹下,您会找到 app.js。 stub 是在其中为应用程序范围的事件创建的。

您还必须确保所有者是“页面”——如果所有者是“应用程序”,这似乎不起作用。如果任何人都可以评论为什么这将是最有用的。

现在,在您页面的脚本中创建您自己的 stub :

Application.$controller("MainPageController", ['$scope',
function($scope) {
"use strict";

...

$scope.WsApiCallInvokeonSuccess = function(variable, data) {
// Insert code here.
};

而且,至少对我来说,这一切似乎都有效。数据对象包含我需要的json数据。

希望这对某人有帮助。

关于javascript - Wavemaker 7 中的服务变量事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25584899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com