使用带有Bindable metatag和mxml的ASDoc

时间:2009-08-31 09:47:53

标签: flex mxml asdoc bindable

我正在使用ASDoc创建我的flex项目的文档,并且在可绑定元标记方面存在一些问题。

  • ASDoc不会记录 public Bindable 值,除非Bindable标记具有与之关联的事件名称。

例如:

//This is documented correctly
[Bindable("someEvent")]
/*
* public bindable with event name
* */
public var test1:String;

//This is not documented at all
[Bindable]
/*
* public bindable without event name
* */
public var test2:String;  
  • 如果可绑定标记没有与之关联的事件名称,则ASDoc会将随机字符串添加到 protected Bindable 值的名称中。

例如:

//This is documented correctly as test3  
[Bindable("someEvent")]  
/*  
* protected bindable with event name  
* */  
protected var test3:String;  

//But this is documented as _110251490test4  
[Bindable]  

/*  
* protected bindable without event name  
* */  
protected var test4:String;

总结一下,ASDoc对没有事件名称的Bindable标签不满意。似乎简单的解决方案是在您将某些事物声明为Bindable时指定事件名称。但flex docs say that如果您使用Bindable标记指定事件名称,则“您负责生成和分派事件”。我的项目几乎已经完成,我依赖于很多地方的绑定(没有事件名称),这使得回归并改变一切变得不切实际 - 它需要付出很多努力;加上搞乱工作代码创建文档的想法对我来说听起来很可怕。

在生成asdoc之前用[Bindable]替换所有[Bindable("blah")]实例,然后将其更改回来是我能想到的唯一解决方法。但我觉得应该有更好的方法。

Adob​​e bug tracker声称公共变量的问题已在最新版本中得到修复,因此我下载了最新的flex sdk(3.4)并尝试了随附的ASDoc - 但它给了我相同的结果

有人能解释一下这个问题吗?

此外,Adobe blog says ASDoc现在也支持mxml,但是当我尝试使用最新的(flex 3.4)ASDoc时,我的mxml asdoc注释(嵌入式)没有出现在生成的html页面中。有谁知道最新的asdoc是否可以单独下载?

2 个答案:

答案 0 :(得分:1)

虽然我无法帮助您解决方法,但问题是[Bindable](无事件名称)会在属性周围生成包装代码(我相信一个单独的属性)。这段代码显然在搞乱asdoc。

答案 1 :(得分:0)

您不提供任何Jira号码进行检查,但是......

MXML的ASDoc更改仅在Flex 4(IIRC)中,我检查绑定错误是不一样的。