BoilerplateJSでは、各モジュールには独自のmoduleContextオブジェクトがあります。このモジュールコンテキストオブジェクトには、 'listen'と 'notify'という2つのメソッドがあります。詳細については、 '/src/core/context.js'のコンテキストクラスを見てください。
イベントに「リッスンする」必要があるコンポーネントは、イベントの名前とコールバックハンドラを指定してイベントに登録する必要があります。イベントを発生させるコンポーネントは、面倒なことを他の人に知らせるために 'notify'メソッドを使用する必要があります(オプションでパラメータを渡す)。
最新のBoilerplateJSコードのアップデートをGitHubから入手してください。私はちょうどclickCounterを複合コンポーネントにすることで変更を加えました。ここでは、clickmeコンポーネントはイベントを呼び起こし、「宝くじコンポーネント」は応答するイベントを待ちます。
イベントを通知するためのコード:イベントを聴くため
moduleContext.notify('LOTTERY_ACTIVITY', this.numberOfClicks());
コード:
moduleContext.listen("LOTTERY_ACTIVITY", function(activityNumber) {
var randomNum = Math.floor(Math.random() * 3) + 1;
self.hasWon(randomNum === activityNumber);
});
ところで.. BoilerplateJSは[pubsub.js](HTTPSのわずかに変更されたバージョン使用://をgithub.com/federico-lox/pubsub.js)フェデリコLucignanoの実装の後ろにシーン。 – Hasith