2012-03-28 9 views
1

私はソートの作成メソッドを格納しているモジュールを持っています。モジュールは、そのようなrequireJSを介して他のモジュールにロードされます。RequireJS - コンストラクタをモジュールに適用する

define(['lib/state-machine'], 
    function (stateMachine) { 

     // Creator method. 
     stateMachine.create({ 
      events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }], 
     }); 
    } 
); 

デフォルトでは、作成者の方法は、コールバックの完全なオブジェクトになります。私ができるようにしたいのは、コールバックのオブジェクトとして呼び出すモジュールを使用することです。私は標準的なアプローチを使用して作成者にこのようなオブジェクトを与えたのであれば、たとえば:

callbacks { onEnter: function() { 
     // Do something here. 
    } 
} 

を実際にモジュール自体に「フォーカス取得時」に行く必要があります。

define(['lib/state-machine'], 
    function (stateMachine) { 
     function onEnter() { 
      // This method gets fired by the state machine. 
     } 

     // Creator method. 
     stateMachine.create({ 
      events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }], 
     }); 
    } 
); 

注:ステートマシンをイベント名に基づいたメソッドの存在を前提としています。したがって、Enterイベントが発生すると、常にonEnterメソッドが検索されます。私が使用しているステートマシンは、次の場所にあります。https://github.com/jakesgordon/javascript-state-machine/

答えて

0

Readmeファイルのコード例のようにしようとしましたか?

function (stateMachine) { 
    function onEnter(event, from, to) { /* your code goes here */ } 

    // Creator method. 
    stateMachine.create({ 
     events : [ { name: 'Enter', from: 'Initialised', to: 'Running' }], 
     callbacks: { 
      onEnter: onEnter 
     } 
    }); 
} 
+0

お返事ありがとうございます。うん、私はこれを見た。私がやろうとしていることは、コールバックをまったく指定する必要がないため、私のモジュール上でonEnterを本能的に呼び出すことです。 – backdesk

関連する問題