本文檔介紹全域變數的4種用法,作為靜態值傳遞、作為變數引用非同步值傳遞、作為互動事件參數傳遞、過濾器引用。
全域變數功能為7.0版本產品新增功能,請根據新版控制台環境進行操作。
前提條件
已登入DataV控制台
已進入畫布編輯器
已建立兩個全域變數var_1和var_2
作為靜態值傳遞
在畫布編輯器頁面,單擊全域變數頁簽。
單擊var_1變數,修改來源為靜態值。
修改初始值內容為hello。
重新整理資料響應結果後的
表徵圖。等待系統反應後,查看響應結果為修改後的內容:hello。
作為變數引用非同步值傳遞
在畫布編輯器頁面,單擊全域變數頁簽。
單擊var_1變數,修改初始值為datav-hello。
單擊var_2變數,修改來源為資料來源請求。
若選擇資料類型為API,則使用以下步驟。
設定請求方式為GET,輸入URL為https://datav.com/:var_1。
說明此處URL是資料類型為API時的類比地址,不具備真實訪問性,具體請以實際使用為準。
鍵盤上使用F12功能鍵開啟調測面板。
切換至Network頁簽。
重新整理資料響應結果後的
表徵圖。再次查看Network頁簽下的Name欄位,尋找對應右側Headers頁簽下的Request URL是否為multiple介面。

查看當前介面Payload頁簽的query > api結果為var_1變數的設定值。

若選擇資料類型為相容MySQL資料庫,則使用以下步驟。
選擇已有資料來源。也可以重新建立資料來源,詳情請參見資料來源管理。
輸入以下SQL運算式。
select var_1 as value重新整理資料響應結果後的
表徵圖,查看響應結果。
如果您的資料來源類型為待用資料或者CSV檔案,則不支援全域變數的使用。
對於API資料來源,系統會直接為同名的變數參數賦值。
DataV提供了全域變數自動補全功能。在配置資料來源時,只要鍵入英文冒號
:,編輯器將提示當前螢幕下所有配置過的變數名稱。您可以使用上下鍵選擇某個變數名稱,完成後按Enter鍵確定。當螢幕中有大量互動組件的時候,這個功能可以協助您方便快速地使用全域變數。

作為互動事件參數傳遞
在畫布編輯器頁面,單擊上方快捷搜尋框。
輸入按鈕和通用標題,將兩個組件添加到畫布中。

選擇按鈕組件,單擊右側配置設定面板的進階頁簽。
開啟互動事件模組下的點擊按鈕時開關。
在更新至變數欄位下選擇全域變數var_1。

切換至藍圖編輯器,可以看到,全域變數與按鈕組件是自動虛線串連,且展示了兩個全域變數的參考關聯性。
說明去掉全域變數的參考關聯性後,藍圖中的虛線會自動刪除。

在左側導覽列中選擇圖層節點頁簽,將通用標題拖拽到藍圖中。
可以看出全域變數var_2與通用標題串連為實線。
說明實線可以刪除,虛線不可以刪除。
您可以添加邏輯節點和邏輯組合,對擷取的資料做進一步處理。
過濾器引用
新版DataV服務中的getCallbackValue和getLocalValue的資料擷取效果一樣,為了相容舊版DataV服務,保留了getLocalValue,建議您優先使用getCallbackValue。
在畫布編輯器頁面,單擊上方快捷搜尋框。
輸入按鈕和通用標題,將兩個組件添加到畫布中。重複操作再次擷取按鈕和通用標題組件。

單擊按鈕組件,分別修改兩個按鈕的組件名稱為getLocalValue擷取按鈕和getCallbackValue擷取按鈕。
單擊通用標題組件,分別修改兩個通用標題的組件名稱為通用標題-1和通用標題-2。
選擇全域變數頁簽,新增兩個全域變數,取名為name和test。並分別設定靜態值。
name變數
[ { "value": "擷取到name變數啦。" } ]test變數
[ { "value": "擷取到test變數啦。" } ]
分別設定兩個按鈕的文字內容為點擊通過getLocalValue擷取test和點擊通過getCallBackValue擷取name。

單擊頁面左上方的
表徵圖,進入藍圖編輯器。串連組件。

添加過濾器,設定串列資料處理節點處理方法。
getLocalValue
return getLocalValue('test');getCallbackValue
return getCallbackValue('name');
單擊頁面右上方的預覽,查看資料擷取詳情。

常見問題
Q:在畫布編輯頁面,配置了全域變數後,無法擷取傳回值,導致資料查詢失敗怎麼辦?
A:畫布編輯頁面無法觸發事件,擷取傳回值,因此請求失敗。您可以選擇以下兩種方式,查看請求的傳回值:
預覽頁面查看。在瀏覽器控制台Network中查看請求的傳回值,或者直接通過組件顯示方式查看。
編輯頁面查看。在可視化應用URL後添加測試參數來測試資料,添加方式如下。
https://datav.aliyun.com/v/editor/216?參數名=參數值