【问题标题】:Cannot change the state of another component无法更改另一个组件的状态
【发布时间】:2012-10-20 04:59:21
【问题描述】:

我有以下函数用于更改 FYPadminSideV3 组件中的状态。但是,似乎甚至无法向 FYPadminSideV3 组件发送事件并从 FYPadminSideV3 组件调用 .currentState 函数。谁知道原因??

        protected function logoutButton_clickHandler(event:MouseEvent):void{

            //set currentState="Login"; in main
            var logout:Event = new Event("logout", true, true);
            var mainComp:FYPadminSideV3 =new FYPadminSideV3();
            logoutButton.dispatchEvent(logout);

            mainComp.currentState="LOGIN";
            //set state = Out; in there
            this.currentState="Out";

        }

【问题讨论】:

    标签: apache-flex


    【解决方案1】:

    看起来您从未在任何地方将 mainComp 添加到 displayList 中。即 myApp.addChild(mainComp)。因此,尽管您更改了它的状态,但在将其添加到某处之前,您无法看到它。

    【讨论】:

    • 我对 .addChild() 函数以及显示列表的工作方式感到很困惑。手册说“当您向舞台添加任何视觉元素时,该元素将成为舞台对象的子元素。”。其实,这句话是什么意思?
    • 阅读我对这篇文章的回答。我在其中有一些链接可以深入了解子对象及其在显示列表中的关系。 Other Question
    猜你喜欢
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 2020-06-05
    • 2020-07-01
    相关资源
    最近更新 更多