首页 > 技术文章 > 【CenchaTouch 学习笔记】Controller

hongyanee 2013-06-17 12:20 原文

Cencha Touch是一款基于HTML 5和CSS 3以及JavaScript的Web App框架。
Cencha开发遵循MVC开发模型。Model中定义了应用中的数据模型,View中保存了应用的页面布局,Controller中负责响应Web App中的事件,连接数据与页面。
 
Controller保存在应用程序的上下文中,web app初始化时会实例化每个controller并保存他们的映射。
controller的config中的两个核心是refs和control。refs其实是一个名值对,对页面的各个元件命名。control中定义了元件的各个event的处理函数。然后在config之后定义每个函数的行为。如下面例子。
Ext.define('MyApp.controller.Main', {
    extend: 'Ext.app.Controller',

    config: {
    refs: {
            loginButton: 'button[action=login]'
       },
    control: {
            loginButton: {
                tap: 'doLogin'
            },
            'button[action=logout]': {
                tap: 'doLogout'
            }
        }
    },

    doLogin: function() {
        // called whenever the Login button is tapped
    },

    doLogout: function() {
        // called whenever any Button with action=logout is tapped
    }
});

 refs中的定义了一个对象loginButton,代表了action为login的按钮。control中定义了loginButton的tap事件触发时,将执行doLogin方法。本例中还有一个没有经过refs定义映射的元件,也在control定义了其事件触发方法,action为logout的按钮在tap事件触发时,执行doLogout方法。

推荐阅读