无法解析<mx:string>

时间:2017-07-24 13:14:40

标签: actionscript-3 flex

我是Flex编程的新手。 我正在写一个示例程序。

<?xml version="1.0" encoding="utf-8"?>
<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" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <mx:String id="message">Hello, World</mx:String>
    <mx:Label text="{message}"/>
</s:Application>

但是收到错误“无法解析为组件实现”

我有以下疑问。 什么,标签指的是什么。 为什么我收到上述错误。请帮忙

1 个答案:

答案 0 :(得分:2)

此代码应该有效:

<?xml version="1.0" encoding="utf-8"?>
<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" minWidth="955" minHeight="600">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <fx:String id="message">Hello, World</fx:String>
    </fx:Declarations>
    <mx:Label text="{message}"/>
</s:Application>

我做的是:

  1. 将您的字符串更改为<fx:String>

  2. 将其移至<fx:Declarations>标记。

  3. <强>原因:

    看起来有点像您尝试使用Flex 4 SDK进行编译,并且混合了一些Flex 3和Flex 4.任何以命名空间“s”开头的都是Flex 4 Spark组件。命名空间“mx”的任何内容都来自Flex 3.

    在Flex 3中,您可以在代码中声明变量,紧挨着任何可视组件,并且它们都是使用“mx”命名空间声明的。使用Flex 4,他们对其进行了更改,以便声明非可视组件(如变量)的内容需要放在<fx:Declarations>标记中,这就是为什么有注释“放置非可视元素(例如,服务,价值对象)这里“。他们还将这些非可视元素的名称空间更改为“fx”

    Flex 3 equivalent of ''?

    中有一些解释