1. 程式人生 > >Axure原型中全域性變數和區域性變數

Axure原型中全域性變數和區域性變數

axure全域性變數 

全域性變數Global Variable:預設顯示名稱OnLoadVariable,作用範圍為一個頁面內,即站點地圖面板中一個節點(不包含子節點)內有效,所以這個全域性也不是指整個原型檔案內的所有頁面通用,還是有一定的侷限性的。

全域性變數可以直接賦值,不同於軟體程式設計的全域性變數,全域性變數的生命週期只在當前頁面有效,當頁面跳轉到其他頁面或者重新整理頁面時,全域性變數被清空。 



Value:直接附一個常量,數值、字串都可以; 

Value of variable:獲取另外一個變數的值; 

Length of variable value:獲取另外一個變數的值的長度; 

Selected option of:獲取列表框元件、下拉列表框元件裡面選中的值; 

Is checked of:獲取單選框元件、複選框元件的值; 

Text on widget:獲取單行輸入框元件、多行輸入框元件的值; 

Length of widget value:獲取單行輸入框元件、多行輸入框元件、列表框元件、下拉列表框元件的值的長度; 

Text on focused widget:獲取當前游標所在元件的值,這個沒有用過,不知道效果咋樣。 

axure區域性變數 

區域性變數Local Variable:預設顯示名稱LVAR1,LVAR2…,作用範圍為一個case裡面的一個事務,一個事件裡面有多個case,一個case裡面有多個事務,可見區域性變數的作用範圍非常小。例如在case裡面要設定一個條件的話,如果用到了區域性變數,這個變數只在這個條件語句裡面生效。且區域性變數只能依附於已有元件的使用,不能直接賦值。從這點來看,全域性變數比區域性變數要多三個賦值方法。 

其次是從使用方式來看,在應用的時候,區域性變數的作用範圍決定了其只能充當事務裡面的賦值載體,因此更多的是在函式當中用到,充當函式的運算變數,因此不會在外部頁面級的邏輯中看到,全域性變數在應用上比區域性變數多得多。

全域性變數三種常見的應用場景。 

1. 做賦值的載體 

形象點說就是發揮中間人的作用,因為全域性變數支援了多達8種賦值方法,其中有5種是獲取元件值的,因此其可以作為元件間值的傳遞的媒介,比如要將一個文字塊(text panel)元件的值傳給另個文字塊元件,直接傳遞是不能實現的,需要用到全域性變數的text on widget賦值方法,先將其中一個文字塊的值賦給變數,再將變數的值附給另一個文字塊;再比如要獲取某個列表框所選擇的值時,也可以通過這種方式來。總之,當需要實現元件和元件之間值的傳遞時,可以用全域性變數來做中間人,因為AxureRP暫不支援元件間直接相互傳遞值。 

2. 做引數的載體 

全域性變數支援直接賦值,也支援獲取別的全域性變數的值,我們可以利用這一特性讓變數作為引數來實現某些功能。比如同一個按鈕要實現跳轉到不同頁面的時候,就需要兩個變數來配合實現,一個變數充當引數,記錄在原型演示過程當中產生的值的變化,另個一個變數來獲取這個值,從而決定歸屬。如引數是1時跳轉到什麼頁面,引數是2時跳轉到什麼頁面,引數是3是跳轉到什麼頁面,這裡的關鍵是要記錄下引數值的變化,最常見的情景是每點一次按鈕,引數值要加1或者減 1,或者頁面LOAD的時候要給一個初始值。 

3. 做條件判斷的載體 

全域性變數的賦值方式很多,當獲取到值進行直接使用時,就是用來做條件判斷了,上述兩種都是獲取到值之後的間接使用。比如常見的根據輸入密碼的長度來判斷密碼複雜度的功能,就是用變數獲取到元件值的長度,然後根據這個長度來直接進行判斷。上述引數部分的第二個變數充當的也是條件判斷的載體。