API Docs for:lufylegend.mvc 最后更新日期:2015年03月15日
Google搜索   
Show:

LController Class

Extends LMvcObject
Defined in: LController.js:1

Available since 1.8.4

控制器Controller

简而言之,一个控制器就是一个类文件。控制器必须放到Controllers文件夹内,控制器的名字以Controller结尾。 在控制器中,可以使用 this.model 来调用它的模型,使用 this.view 来调用它的视图。

控制器Controller一共继承自两个类LMvcObject,LEventDispatcher,所以除了可以使用LMvcObject的函数之外,还拥有LEventDispatcher类所有属性和函数。

Constructor

LController

() public

Defined in LController.js:1

Available since 1.8.4

Item Index

Properties

Events

Methods

clearValue

() public

Defined in LController.js:112

Available since 1.8.4

清空所有在控制器中已经设定的值。

construct

() public

Inherited from LMvcObject: LMvcObject.js:11

Available since 1.8.4

控制器,模型,视图初始化结束后都会直接调用此函数,如果有想要在各个模块初期化结束后运行的代码,可以写在construct函数内

本MVC框架中的construct函数运行顺序为,模型model的construct函数 > 视图view函数 > 控制器的construct。

getValue

(
  • key
)
Object public

Defined in LController.js:91

Available since 1.8.4

获取在控制器中已经设定的值。

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

(
  • name
  • callback
)
public

Inherited from LMvcObject: LMvcObject.js:19

Available since 1.8.4

读取一组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

(
  • key
  • value
)
public

Defined in LController.js:69

Available since 1.8.4

设定需要传给视图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
}

Properties

model

LModel public

Defined in LController.js:26

Available since 1.8.4

控制器的模型。

view

LView public

Defined in LController.js:34

Available since 1.8.4

控制器的视图。

Events

LController.NOTIFY

String public static

Defined in LController.js:51

Available since 1.8.4

通知器,该消息发送之后,会直接运行控制器Controller关联的所有视图View的updateView函数。