LController Class
控制器Controller
简而言之,一个控制器就是一个类文件。控制器必须放到Controllers文件夹内,控制器的名字以Controller结尾。 在控制器中,可以使用 this.model 来调用它的模型,使用 this.view 来调用它的视图。
控制器Controller一共继承自两个类LMvcObject,LEventDispatcher,所以除了可以使用LMvcObject的函数之外,还拥有LEventDispatcher类所有属性和函数。
Constructor
LController
()
public
Methods
clearValue
()
public
清空所有在控制器中已经设定的值。
construct
()
public
控制器,模型,视图初始化结束后都会直接调用此函数,如果有想要在各个模块初期化结束后运行的代码,可以写在construct函数内
本MVC框架中的construct函数运行顺序为,模型model的construct函数 > 视图view函数 > 控制器的construct。
getValue
(
Object
public
-
key
获取在控制器中已经设定的值。
Parameters:
-
key
String一个或者多个设置文件.
Returns:
Object:
获取到的在控制器中已经设定的值。
Example:
//控制器中代码
ExampleController.prototype.loadModel = function(){
this.setValue("myname","testName");
this.dispatchEvent(LController.NOTIFY);
}
//视图中代码
ExampleView.prototype.updateView = function(){
trace(this.controller.getValue("myname"));//out: testName
}
loadMvc
(
public
-
name
-
callback
读取一组MVC,包括控制器Controller,模型Model,视图View
Parameters:
-
name
String控制器的名称中去除Controller的部分.
-
callback
Function回调函数,当MVC的三个文件读取完之后,会自动调用此函数
Example:
ExampleController.prototype.construct = function(){
this.loadMvc("Logo",self.logoLoad);
}
ExampleController.prototype.logoLoad = function(){
var logo = new LogoController();
this.view.addChild(logo.view);
}
setValue
(
public
-
key
-
value
设定需要传给视图View的值。设定完之后,发送LController.NOTIFY消息,则自动调用所有相关联的视图的updateView函数
Parameters:
-
key
String一个或者多个设置文件.
-
value
Object任意类型的值
Example:
//控制器中代码
ExampleController.prototype.construct = function(){
this.setValue("myname","testName");
this.dispatchEvent(LController.NOTIFY);
}
//视图中代码
ExampleView.prototype.updateView = function(){
trace(this.controller.getValue("myname"));//out: testName
}
Events
LController.NOTIFY
String
public
static
通知器,该消息发送之后,会直接运行控制器Controller关联的所有视图View的updateView函数。