我是 Flex 的新手,我不喜欢你必须为你编写的每个控件声明编写命名空间 mx: 的方式。它使代码混乱。我想写:
<Panel ...
而不是
<mx:Panel ...
我试着写
xmlns="http://www.adobe.com/2006/mxml"
对于顶级元素而不是
xmlns:mx="http://www.adobe.com/2006/mxml"
在顶层声明中。这项工作在一定程度上有效,但破坏了一些现有代码。一方面,文档中定义的 XML 数据都附加了 aaa: 作为运行时的命名空间。我还注意到我非常小的示例程序中的其他问题。
有没有办法做到这一点,或者这是一个失败的原因?以及一些关于为什么的背景信息将不胜感激。
更新:感谢大家的回复,但我想听听实际尝试过这个并认为这很重要的人的意见。尽管你们中的大多数人告诉我这是一个坏主意,但我并不气馁。我现在有几个程序以这种方式顺利运行。并计划在我所有的 flex 应用程序中执行此操作。一个技巧似乎对我有用,尽管我不能声称它会普遍适用。如果您在文档中需要单独的命名空间,例如 HTTPService 参数,您可以在该元素中创建一个命名空间,如下所示:
<HTTPService id="服务" url="http://blah.com" 方法="POST" 结果="gotResult(事件)"> <请求 xmlns:p="*"> <p:param1>p1</p:param1> <p:param2>p2</p:param2> </请求> </HTTP服务>
希望这可以帮助某人。我对我的代码现在的干净程度感到非常满意,几乎和普通的 html 文件一样干净。至于那些认为编写 mx: 整个代码更清晰的人,我完全不同意。我认为要求您在代码中过度重复相同字符序列的语言(您应该将其视为文档)存在设计缺陷。给你打个比方:如果你在读一篇关于巴拉克奥巴马的文章,每句话都包含“巴拉克奥巴马”这个词,你会怎么看,那会很烦人,不是吗?