簡體   English   中英

Wavemaker 7中的服務變量事件

[英]Service Variable Events in Wavemaker 7

我試圖手動攔截使用外部JSON數據的服務變量的結果。

我可以綁定一個按鈕來調用API,然后將生成的json數據綁定到網格,並且可以正常工作,但是我想在手動填充網格之前對一些數據進行預處理。

“服務變量”彈出窗口具有“事件”選項卡,但如果為OnSuccess或OnResult事件(或實際上是其中任何一個)選擇“ Javascript”,則不會在代碼中為您生成存根,並且我終生無法我自己研究如何捕獲這些事件。

請有人能指出我正確的方向嗎? 文檔沒有對此進行解釋(我已經進行了廣泛搜索)。 我也將其張貼在Wavemaker板上,如果得到答案,也將交叉張貼答案。

好的,我終於解決了。

假設您的Web服務稱為wsApiCall。 IDE將為您創建一個名為WsApiCallInvoke的服務變量,這在“ wm.ServiceVariable”下左側的“服務”面板中可見。

單擊此服務變量以調出配置面板,然后選擇“事件”選項卡。 為所需的事件選擇“ Javascript”(在我的情況下為onResult)。

**這不會像6.7那樣在代碼中創建存根**

編輯:不是很正確。 進一步的測試表明,只要在保存之前將所有者從“應用程序”(默認)更改為“頁面”,就可以像創建存根一樣。 “應用程序”設置有可能在其他地方創建存根,但是如果確實存在,我還沒有找到它。

編輯2:在wavemaker論壇的幫助下找到了它:)-在左側的文件面板中,從下拉列表中選擇資源,在“服務”文件夾下,您將找到app.js。 存根在此處創建,用於應用程序范圍的事件。

您還必須確保所有者為“頁面”-如果所有者為“應用程序”,這似乎不起作用。 如果有人可以評論為什么這將是最有用的。

現在,在頁面腳本中創建自己的存根:

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

    ...

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

至少對我來說,這一切似乎都奏效。 數據對象包含我需要的json數據。

希望這對某人有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM