【问题标题】:How do you choose the initial view for a flex application?您如何为 flex 应用程序选择初始视图?
【发布时间】:2011-09-02 19:13:00
【问题描述】:

我想加载一个初始组件以在我的 flex 应用程序中显示,这取决于是否设置了 SharedObject 中的值(首次启动)。我该如何做到这一点?

【问题讨论】:

    标签: apache-flex actionscript-3 flex4.5 mate mate-flex-framework


    【解决方案1】:

    很简单:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   applicationComplete="onApplicationComplete()">
        <fx:Script>
            <![CDATA[
                private function onApplicationComplete():void
                {
                    var so:SharedObject = SharedObject.getLocal('something');
                    // add conditionals here
                        addElement(new SomeView());
                }
            ]]>
        </fx:Script>
    </s:Application>
    

    或与状态:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   applicationComplete="onApplicationComplete()">
        <fx:Script>
            <![CDATA[
                private function onApplicationComplete():void
                {
                    var so:SharedObject = SharedObject.getLocal('something');
                    // add conditionals here
                        this.currentState = 'someview2';
                }
            ]]>
        </fx:Script>
        <s:states>
            </s:State name="someview" />
            </s:State name="someview2" />
            </s:State name="someview3" />
        </s:states>
    
        <local:SomeView includeIn="someview" width="100%" height="100%" />
        <local:SomeView2 includeIn="someview2" width="100%" height="100%" />
        <local:SomeView3 includeIn="someview3" width="100%" height="100%" />
    </s:Application>
    

    【讨论】:

    • 很抱歉,我认为这与 viewStack 有关。这是好的做法吗?
    • 如果您愿意,您可以使用 ViewStack,但我会使用状态来代替,因为 ViewStack 已被弃用。修改后的答案。
    • 已弃用?你能详细说明一下吗? ViewStacks 是我购买的 Flex 书籍的一章。
    • ViewStacks 是 Fl​​ex 3(mx 包),我们现在处于 Flex 4 (Spark) 中,并且在 Flex 4 的状态中进行了主要修复。因此,没有需要使用 ViewStack,只需使用状态。我认为您的书可能有点老了,并且针对 Flex 3,但学习延迟实例化仍然不是一个坏主意。
    猜你喜欢
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多