u+b控制器,lanz控制器

Controller — 控制器

控制器管理当前模块的所有Action,在相应的Action中为区域装载视图脚本。

Controller

使用方法:Buz.Controller。开发人员通过该方法来为模块配置Action,并控制视图装载逻辑。

该方法必须配置actions

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

export default Buz.Controller{

    actions: {

        “”: ) => {

            App.regions.content.show”areas/Demo/index/Index”);

        },

        “index2”: ) => {

            App.regions.content.show”areas/Demo/index/Index2″);

        },

        “index3″:”commonFunction”,

        “index4″:”commonFunction”

    },

    commonFunction:functionparams){

        App.regions.content.show”areas/Demo/index/Index3″,params.id);

    }

});

action支持两种形式,通常是Function类型,也可以是String类型,若多个Action的逻辑基本相同,可以设置为方法名称(字符串), 在实际匹配时会在当前控制器中寻找该方法作为Action执行方法。

其中每个action执行时都会传入fragment.params,详见Router中的地址碎片信息。

BaseController

BaseController挂载在App中,使用方式App.controller,详见应用池章节信息。

公开方法

match

该方法是内部方法,通过Router进行驱动,通过该方法来匹配对应的Action。

参数名作用类型默认值备注handler当前控制器Object Buz.Controller传入配置信息fragment地址碎片Object 详见应用池地址碎片广播事件 事件名称作用参数备注before:match匹配路由前执行{ fragment: 地址碎片, handler: 当前控制器配置信息 }若该事件返回false则终止匹配after:match匹配路由后执行{ fragment: 地址碎片, handler: 当前控制器配置信息, isBreak: 是否是被终止 }终止条件:

1.before:match强制终止

2.控制器匹配失败,未找到Function类型的执行程序

3.没有找到action

 

https://github.com/ZhangChuanHui/BUZ

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注