【问题标题】:Flex4: how to create the view states in as class (code-behind)Flex4:如何在类中创建视图状态(代码隐藏)
【发布时间】:2017-03-02 07:25:52
【问题描述】:

根据 Adob​​e Create and apply view states 的这份文档,<s:State/> 是一个状态对象。 如何在代码隐藏 ActionScript 类中创建视图状态?

【问题讨论】:

  • Actionscript 没有代码隐藏。您的 MXML 和 AS3 代码位于不同的类中。
  • AS 类是后面的代码。
  • 这不是隐藏代码。这是一个单独的类。
  • 这里是“代码隐藏”的定义:“(计算,编程)网页设计中的一种技术(特别是 Microsoft ASP.NET),其中存储了网页和后端源代码在单独的文件中,允许网页设计师和程序员独立工作。” - 来自link。在我的例子中,MXML 是设计,AS 类是逻辑。所以它是一个代码隐藏。
  • 您的 MXML 文件本身就是一个完整的类。您不妨编写 MyDesign.mxml 和 MyCodeBehind.mxml(或 MyDesign.as 和 MyCodeBehind.as)。与代码隐藏不同,没有一个“前端”和另一个“后端”的分界线。

标签: actionscript-3 apache-flex


【解决方案1】:

我找到了一个简单的解决方案,我不必使用蒙皮架构来声明状态。我什至没有在扩展 WindowedApplication 的 ApplicationClass 中声明状态。 解决方案是:仅在 Main.MXML 中声明状态,并且一定要使用正确的命名空间,在我的情况下它应该是“自定义”。 这是 Main.MXML:

<?xml version="1.0" encoding="utf-8"?>
<custom:ApplicationClass xmlns:fx="http://ns.adobe.com/mxml/2009"
                         xmlns:s="library://ns.adobe.com/flex/spark"
                         xmlns:mx="library://ns.adobe.com/flex/mx"
                         xmlns:custom="components.*">
    <custom:states>  
        <s:State name="loginState"/> 
        <s:State name="infoState"/>
    </custom:states>

    <s:Panel id="loginPanel" title="Login" includeIn="loginState" />

</custom:ApplicationClass>

我只想在不同的面板之间切换,所以这种方法对我来说很有效。当然还有其他情况,需要在剥皮中声明状态。 我从这个链接得到了这个解决方案:Error: Could not resolve to a component implementation.

【讨论】:

    猜你喜欢
    • 2011-03-25
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多