0
我正在與Flex的ViewNavigatorApplication
工作,我想弄清楚如何正確使用navigator
。導航瀏覽器上的ViewNavigatorApplication上Flex 4.6
我的問題是,如果你具備以下條件:
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView="views.IntroView">
<s:navigationContent>
<s:Button label="Home" click="navigator.popToFirstView()"/>
<s:Button label="Start" click="navigator.pushView(StartView)"/>
</s:navigationContent>
</s:ViewNavigatorApplication>
並按Start
按鈕多次上的StartView
多個實例被創建,這是合理的,因爲這是或多或少的堆棧觀點。您可以通過點擊移動設備的後退按鈕來確認。
有沒有一種方法可以輕鬆避免這種情況,還是我必須編寫一個(相當複雜的)「控制器」來跟蹤內容並確保每個視圖只有一個實例可以被推送,其中popView()
的地方需要和什麼。
我似乎無法找到任何文檔,但如果我錯過了某些內容,請與我分享。
謝謝!
我會嘗試這個,我想它應該工作。但即使關於銷燬政策的文件也不會提及「從不」意味着ViewNavigator將重新使用它。謝謝! – alkar
不幸的是,沒有工作 – alkar
對不起,我想我誤解了你的問題。也許你可以在你的點擊處理程序中使用'ViewViewer'的'activeView'屬性,並且只有當!(navigator.activeView是StartView)時纔會推動StartView,或者使用同樣的邏輯來禁用按鈕。 –