我注意到可绑定的公共变量在视图之间不可用,在整个应用程序中查看一组中心变量的最佳实践是什么。
提前致谢并感谢您的帮助。克雷格
我注意到可绑定的公共变量在视图之间不可用,在整个应用程序中查看一组中心变量的最佳实践是什么。
提前致谢并感谢您的帮助。克雷格
偶然遇到这个问题,也许我有答案。即使问题本身是几个月前的问题。
我通过使用模型来解决您的问题。使用 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