在我的Mobile Flex项目中,我声明了一个HTTPService:
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="" >
<fx:Style>
.myClass { color: Red }
</fx:Style>
<fx:Declarations>
<fx:HTTPService id="userRequest" url="http://localhost/tabletteNR/NR.php" useProxy="false" method="POST"> // it causes an error "Impossible to resolve <fx:HTTPService> as a component implementation"
<fx:request xmlns="">
<username>a</username>
<emailaddress>b</emailaddress>
</fx:request>
</fx:HTTPService>
</fx:Declarations>
...
当我将“fx”前缀更改为“s”时,错误消失了!那么为什么“s”是正确的前缀?但是我查看了包浏览器,我没有在spark.swc文件夹中找到HHTPService,但我在rpc.swc中看到了它 - &gt; mx.rpc.http包。那为什么它是“正确的前缀?”
答案 0 :(得分:2)
HTTPService类位于“library://ns.adobe.com/flex/spark”库名称空间中;在视图标记的顶部,您为该命名空间赋予了s:
的值<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="" >
这是默认设置,BTW,但您可以将其更改为您想要的任何内容。理论上这样的事情应该有效:
<s:View xmlns:notfx="http://ns.adobe.com/mxml/2009"
xmlns:fx="library://ns.adobe.com/flex/spark" title="" >
<notfx:Style>
.myClass { color: Red }
</notfx:Style>
<notfx:Declarations>
<fx:HTTPService id="userRequest" url="http://localhost/tabletteNR/NR.php" useProxy="false" method="POST"> // it causes an error "Impossible to resolve <fx:HTTPService> as a component implementation"
<fx:request xmlns="">
<username>a</username>
<emailaddress>b</emailaddress>
</fx:request>
</fx:HTTPService>
</fx:Declarations>
虽然这很不寻常,但似乎很多工作。
命名空间URL和命名空间内的类在manifest.xml文件中定义,该文件可以作为SWC的一部分创建。我所知道的大多数Flex开发人员都不愿意改变它们。
答案 1 :(得分:0)
要使用Spark控件,默认前缀为s,要使用MX控件,默认前缀为mx。
xmlns:s = "library://ns.adobe.com/flex/spark"
xmlns:mx = "library://ns.adobe.com/flex/mx"