[英]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.