Skip to content
fkei edited this page Dec 20, 2013 · 1 revision

Summary

beez.ControllerはMVCにおけるControllerを担当します。

Routerのnavigator() と、ブラウザのハッシュフラグメントアクセスが発生した際に、Router経由でControllerのメソッドが実行されます。

Controllerとbeez.manager.controller間の連携は、Viewとbeez.manager.view間の連携と似ています。 先にViewに目を通すことをお勧めします。

使い方

Controller 定義

新しくMyControllerを定義する際は、beez.Controllerを継承します。

var MyController = beez.Controller.extend(
  'MyController',
  {
    initialize : function initialize() { /* 初期化 */ },
    bar : function bar() { }
  }
);

Controller 生成

Viewと同様、Controllerの生成はbeez.manager.controllerを通して行います。 beez.manager.controllerを通したControllerのインスタンス生成

beez.manager.controller.create('/@', MyController);

Controller 取得

beez.manager.controller内部で生成されたControllerにアクセス

var myController = beez.manager.controller.get('/@/myController');

非同期でアクセス

var myController = beez.manager.controller.async().get('/@/myController');

の様に、async()の処理を挟んでください。

事前ロード i18n

i18nのJSファイルをControllerをcreateする際に自動的にロードする仕組みがあります。

詳しくは、i18nを参照ください。

var MyController = beez.Controller.extend(
    'MyController',
    {
        ....
        i18n: function i18n() {
            return {
                en: require('core/i18n/en'),
                ja: require('core/i18n/ja')
            };
        },
        ....
    }
);

事前ロード css

CSSファイルをControllerをcreateする際にstyleタグに自動で設定する仕組みがあります。

詳しくは、Stylusを参照ください。

var MyController = beez.Controller.extend(
    'MyController',
    {
        ....
        css: [
            'index/styl/index.css',
        ],
        ....
    }
);

Clone this wiki locally