apache-flex - 摆脱 mx : in your Flex code? 是不是一个坏主意

标签 apache-flex actionscript

我是 Flex 的新手,我不喜欢您必须为您编写的每个控件声明编写 namespace mx 的方式。它使代码困惑。我想写:

<Panel ...

而不是
<mx:Panel ...

我试着写
xmlns="http://www.adobe.com/2006/mxml"

对于顶级元素而不是
xmlns:mx="http://www.adobe.com/2006/mxml"

在顶级声明中。这在一定程度上有效,但破坏了一些现有代码。一方面,文档中定义的 XML 数据都附加了 aaa: 作为运行时的命名空间。我还注意到我的非常小的示例程序中存在其他问题。

有没有办法做到这一点,或者这是一个失败的原因?以及一些有关原因的背景信息将不胜感激。

更新:感谢大家的回复,但我想听听实际尝试过并认为这很重要的人的意见。虽然你们中的大多数人告诉我这是一个坏主意,但我并没有气馁。我现在有几个程序可以以这种方式顺利运行。并计划在我所有的 flex 应用程序中执行此操作。一种技巧似乎对我有用,尽管我不能声称它会普遍适用。如果您需要在文档中使用单独的命名空间,例如使用 HTTPService 参数,您可以在该元素中创建一个命名空间,如下所示:

method="POST"result="gotResult(event)">
<请求 xmlns:p="*">
p1
p2



希望这可以帮助某人。我对我的代码现在的干净程度感到非常满意,几乎和普通的 html 文件一样干净。至于那些认为写 mx 的人:在你的代码中更清晰,但我完全不同意。我认为需要您在代码中过度重复相同字符序列的语言(您应该将其视为文档)存在设计缺陷。这里有一个类比给你:如果你正在阅读一篇关于巴拉克奥巴马的文章,你会喜欢它,并且每一句话都包含“巴拉克奥巴马”这个词,那会很烦人,不是吗?

最佳答案

我认为,随着项目变大,删除 mx 命名空间几乎肯定会给您带来名称冲突的麻烦。

我个人认为 mx 命名空间使代码更清晰而不是更困惑,特别是如果您有基于组件的 flex 开发或许多自己的控件。在过去两年中拥有大量 flex 代码库后,我发现 mx 命名空间并不引人注目,尤其是当您嵌入了自定义对象(如项目渲染器)时。

我的建议(不科学地断言)是忍受它,特别是如果您在删除它时发现问题。我打赌你会在一段时间后不再注意到它。

关于apache-flex - 摆脱 mx : in your Flex code? 是不是一个坏主意,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284530/

相关文章:

javascript - Flex 4 监听 JavaScript

flash - 如何在 actionscript 中为 crossdomain.xml 指定自定义位置?

php - 将 php $_GET 传递给 flash 播放器 xml 文件

javascript - 我如何让 Flash 重新加载它嵌入的父 HTML 页面?

java - Adobe Actionscript (Flex Framework) 的蓝牙 SPP 怎么样?

apache-flex - 何时在 AS3 的 ByteArray 中使用 writeUTF() 和 writeUTFBytes()

apache-flex - 如何使用此 flex 编译器选项将非嵌入文件复制到目标文件夹

actionscript-3 - 嵌入字体 : "Font with plain weight and style was not found at..."

apache-flex - 如何使用 Flash 检索 HTTP 403 的正文?

flash - Flash ActionScript 可以读写本地文件系统吗?