在我的应用程序中,我有四个mxml文件和一个ActionScript文件。我想知道如何在不指定<mx:Script source="one.as"
任何想法的情况下从4个mxml文件访问该动作脚本?
答案 0 :(得分:1)
很多想法。您在帖子中指定的一种方式。
另一种方式:
<mx:Script>
include "one.as"
</mx:Script>
第三种方法是将其作为文件功能封装到类中,然后在每个MXML文件中创建该类的实例。
答案 1 :(得分:0)
记住一个简单的事实:file是一组用于存储数据的位。存储在* .mxml和* .as文件中的数据是以OOP方式编程的代码(如果你做得对的话)。因此,在这种情况下谈论文件是没有意义的。让我们谈谈由MXML和AS文件表示的类。
指令<mx:Script source="one.as"
与文件有关。我从不使用它,因为它是一种黑客攻击。即使Adobe本身仅在嵌入版本号和一些类元数据的情况下使用包含。我建议你在学习Flex之初忘记这个hack。您可以在将来明智地使用它(可能或可能不是:我从不使用它只使用旧的良好OOP设计原则并且没有任何问题)。
所以现在我们意识到了OOP和类。因此,使用OO原则使用MXML和AS 类。 This book可以帮助您学习OOP和设计模式。
答案 2 :(得分:0)
正如我在对原始问题的评论中所说,并且正如@ www.Flextras在最后一点所说的那样,将AS功能包装成一个类是一个好主意。
我会建议更进一步,就像我在原始评论中所做的那样,并创建该类作为单例模式的实现。通过这种方式,您在整个应用程序中使用该类的单个实例,这将确保MXML组件之间的对象相同。
或者,如果它正常工作(很难说没有细节),你也可以在某种形式的实用程序类的静态方法中实现这个功能,这也是一个很好的实现。