Actionscript 3 actionscript 3 MVC工作流程

Actionscript 3 actionscript 3 MVC工作流程,actionscript-3,Actionscript 3,在主类和视图类之间以及在主类和视图类之间传递数据的最佳实践是什么 梅因 var模型:模型=新模型() 变量视图:视图=新视图() 变量控制器:控制器=新控制器() 公共函数callFromView():void{} view.as //如何引用main.as 私有函数callToMain():void { //请帮忙 } 在视图类中创建一个名为: var main:Main; 然后是一个函数,用于接收Main类型的对象,该对象设置您在上面创建的变量,如下所示: public funct

在主类和视图类之间以及在主类和视图类之间传递数据的最佳实践是什么

梅因


var模型:模型=新模型()
变量视图:视图=新视图()
变量控制器:控制器=新控制器()

公共函数callFromView():void{}

view.as


//如何引用main.as
私有函数callToMain():void
{
//请帮忙
}

在视图类中创建一个名为:

var main:Main;
然后是一个函数,用于接收Main类型的对象,该对象设置您在上面创建的变量,如下所示:

public function setMain(mainIN:Main):void
{
   main = mainIN;
}
现在,视图类中的主文档类中包含的所有数据都有了一个本地副本。通过执行以下操作,可以访问main的属性(在视图类的函数中):

要以另一种方式传递数据,只需在视图类内创建公共属性或函数,然后由于您已在主类内创建了视图实例,因此它将能够使用以下代码正常访问它:

view.someViewFunction();

通过这种方式,每个类都可以访问彼此的属性和函数。我希望这有帮助

我通常通过控制器更改模型中的属性来处理通信。在模型中的值发生更改时,我将调度表示这些更改的事件。任何对模型有引用的人(在本例中为Main)都可以订阅这些事件。这会导致一个更迂回的实现,但会产生一个非常松散耦合的结果。

您试图在main和view之间传递什么(反之亦然)?下面是场景::main.as是一个swf的文档根,它正在被另一个swf(加载程序)加载。当视图完成其工作时。视图需要告诉Main.as向父swf(加载程序)触发Event.COMPLETE。此外,视图需要引用Main.as来引用时间轴中的一些显示对象。我将避免这种情况。视图不应该知道main,因为它现在是紧密耦合的。如果主视图的结构发生变化,则视图也必须更新。至少,如果视图需要完成某些操作,那么就调度一个事件并让main侦听它:)下面是场景::main.as是一个swf的文档根,它正在被另一个swf(加载程序)加载。当视图完成其工作时。视图需要告诉Main.as向父swf(加载程序)触发Event.COMPLETE。此外,视图需要引用Main。至于引用时间轴中的一些显示对象,让视图类与加载了包含Main和view的对象的对象通信是很棘手的;我相信这是可能的,但我从未做过。不过,在新swf中完成加载后,该加载程序对象将触发Event.COMPLETE对象。至于让View从Main访问对象,我上面提出的方法可能不像Allan所说的那样好,但在实践中效果非常好,我没有注意到任何内存问题。这样做,然后您就可以使用Main.someObject.x=someX之类的东西访问Main的对象;
view.someViewFunction();