2009-07-21 22 views

回答

3

有了狀態,你可以在每個狀態下擁有相同ID的對象 - 這不能用viewstack來完成。當一組對象在不同的​​「狀態」或「視圖」之間共享時,通常使用狀態。例如,你可以在每個狀態中都有一個textinput,併爲每個狀態分配一個相同的「用戶名」。當您引用「用戶名」ID時,它將使用處於當前啓用狀態的對象。如果您嘗試使用viewstack執行此操作,則會發出錯誤消息,說您已多次定義了「用戶名」的標識。

因此,作爲一個總結...使用狀態,當你添加或從每個國家共享的一組組件中刪除組件。當每個視圖不同並且不共享組件時使用viewstack。

+0

感謝Charis提供的有用信息 – 2009-07-21 12:41:57

0

當您的視圖非常相似並且僅基於少數控件或組件而使用狀態時。如果您有太多的AddChild/RemoveChild元素,開發人員會更難以遵循您的代碼。

ViewStack還通過「creationPolicy」屬性支持延遲實例化。這意味着當ViewStack加載時,只有ViewStack中的第一個Container將被初始化。如果你(A)ViewStack中有很多孩子,或者(2)孩子是大型/複雜的組件,這實際上可以加快你的應用程序的加載時間。

相關問題