Flex中State和ViewStack的區別

2021-08-30 21:19:25 字數 822 閱讀 7071

最近在乙個flex遺留系統上工作,flex部分承擔的主要是使用者註冊的業務。

使用者註冊需要多個步驟,比如填寫完基本資訊,通過驗證之後,來到聯絡資訊填寫表單,等等。步驟之間的切換通過改變當前頁面的state來實現:state控制不同控制項的顯示、掩藏等。

直覺不應該這麼實現,今天看了《flex 3權威指南》 之後,終於找到了答案:viewstack才是這種場景的正確實現方式。

state和viewstack雖然都可以用來實現上述的場景,但使用state方式的問題在於它不是為這種場景設計的實現方式。所以,在實現過程中可能會非常痛苦。

以下是state和viewstack的一些區別:

state

viewstack

使用場景

乙個view的不同狀態。比如乙個頁面在普通使用者登入

時只能看到概要資訊,而當管理使用者登入時可以看到

詳細資訊,這是同乙個view的兩種不同狀態。

用來控制差異很大的view之間的跳轉和變遷。比如乙個使用者註冊過程中的各個步驟。

技術實現

1. 需要一次初始化所有的components。

2. 基本上背後是乙個mxml,內部component的較小變化。

3. 同上,基本對應乙個資料。

1. 可以使用creationpolicy引數來控制延遲初始化。比如可以讓stack中的每個view

在導航到它時才初始化。

2. 多個mxml之間的轉移。

3. 同上,對應多個資料。

(當然,多個mxml和多個資料都不是必須的)

-- eof --

ps: 我還是flex菜鳥乙個,理解不當之處請朋友們指正。

在flex4裡使用state

設定state 的name屬性的值 在其他元件利用裡該name的值控制state state狀態的改變時通過currentstate屬性來改變的。上面的程式只是框架 現在我們來分析一下。在flex3裡,state的屬性值只能在裡設定,但在flex4裡,state的屬性也可以再其他元件中設定 如下面的...

React中prop和state的區別

本文章已收錄於 react知識庫 需要理解的是,props是乙個父元件傳遞給子元件的資料流,這個資料流可以一直傳遞到子孫元件。而state代表的是乙個元件內部自身的狀態 可以是父元件 子孫元件 改變乙個元件自身狀態,從語義上來說,就是這個元件內部已經發生變化,有可能需要對此元件以及元件所包含的子孫元...

Jbpm中State和Node的區別

b state b state等待狀態。進入這種狀態,整個業務程式例項的執行就會中斷。直到系統外參與者發起繼續執行的命令,即呼叫signal方法,業務程式例項的執行才能夠繼續下去。b node b node 節點狀態。當業務程式例項執行到這個節點,不會停止執行。而是會繼續往下執行。如果存在該節點存在...