Flex4提供以下命名空间:
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo"
有什么区别?哪个命名空间提供哪些功能我在哪里可以找到有关它的信息?
答案 0 :(得分:9)
命名空间允许您指定编译器在哪里查找您在mxml中引用的文件/类。
Flex 4中使用了两种不同类型的命名空间。语言命名空间和组件命名空间。 http://ns.adobe.com/mxml/2009命名空间指定使用的mxml语言版本。这包括脚本标记和绑定标记以及声明和私有等新标记。
上面引用的其他2个命名空间是组件命名空间。这些是对构成将在应用程序中使用的UI组件的特定ActionScript类的引用。 / flex / spark组件集是新的flex 4组件,它们具有皮肤和组件实现分离。 / flex / halo集是flex 3集中存在的组件。小心虽然/ flex / halo已在新的每晚构建中重命名为/ flex / mx。
在Flex 3中,只有一种语言可用且只有一个组件集,因此它们将这些组件的定义一起卡在一个文件中。因此,虽然引擎盖下的技术部分没有改变,但是adobe公开它们的方式(通过多个命名空间)具有。这可能看起来更复杂,但请记住,在执行flex工作时,您始终为mxml中的所有视图组件创建xml命名空间。所以现在你和核心框架玩的水平相同,这很棒。此外,在Flex 4中,可以使用多种语言和组件集,因此无法创建Flex 3中存在的一对一映射。
有关此主题的更多信息,请参阅有关该主题的Adobe文档:http://opensource.adobe.com/wiki/display/flexsdk/MXML+2009
HTH,
SIM