0

我注意到可绑定的公共变量在视图之间不可用,在整个应用程序中查看一组中心变量的最佳实践是什么。

提前致谢并感谢您的帮助。克雷格

4

1 回答 1

1

偶然遇到这个问题,也许我有答案。即使问题本身是几个月前的问题。

我通过使用模型来解决您的问题。使用 MVC 模式,无论在哪里,您都可以拥有始终可供应用程序使用的变量“存储库”。在您掌握或对模式感到满意后,您可以根据您的项目规范灵活地选择您拥有的模型数量。原谅简单,因为您可以而且应该很好地规划您的结构以适应您的项目。

举个简单的例子:

. 假设您有 2 个视图:“v1”和“v2”

. 我们创建了一个单例模型——我们称之为“myNinjaModel.as”:

package modelo
{
// your imports here


[Bindable]
public class myNinjaModel

{



private static const _instance:myNinjaModel = new myNinjaModel( SingletonLock );


public static function get instance():myNinjaModel
{
return _instance;
}

public function myNinjaModel( lock:Class )
{
// Verify that the lock is the correct class reference.
if ( lock != SingletonLock )
{

throw new Error( "Invalid Singleton access.  Use Model.instance." );

}


}

// you can add some function here that you can access from anywhere in your application
// but be aware of data/logic separation, etc.


// also some nice variables here

var myNameAnywhere:String = "lawrence waterhouse";




} // end class
} // end package


class SingletonLock
{
} // end class

. 如果您想在任何视图中使用此模型中的函数或变量:

import modelo.myNinjaModel;

[Bindable]
private var smodelo:AModel=AModel.instance;

. 如果要访问变量,请执行以下操作:

trace(smodelo.myNameAnywhere); // this will output lawrence waterhouse

对不起,如果我打错了什么,我是认真做的。

希望这对您有所帮助,尽管我认为您必须解决的问题不止于此。:-)

您可以在此处阅读有关 MVC 的一些信息(理论):

http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

于 2013-05-05T17:51:27.940 回答