184
8
章 レシピ集
バックエンド側のコントローラについても見てみましょう。予想していたコードと似ているで
しょうか。
var app = angular.module('myApp', ['myApp.directives']);
app.controller('MainCtrl', function($scope) {
$scope.uploadFinished = function(e, data) {
console.log('
アップロードが完了しました
...');
};
});
以上のコードで、シンプルですがきちんと機能し再利用も可能なアップロード用のディレクティ
ブを作成できました(図 8-4)。
図8-4 File Uploadを利用するディレクティブ
8.4
Socket.IO
の利用
近年の
Web
アプリケーションにはリアルタイム性が求められています。サーバ側でデータが更
新されるとすぐに、クライアント側にも変更点が反映されることが望まれます。以前に使われてい
たポーリング(定期的な問い合わせ)の手法ではリアルタイムな反応はできません。また、単にソ
ケットを開いて通信を行いたいというケースもあります。
これをまさに実現してくれるライブラリが
Socket.IO
(
http://socket.io/
)です。とてもシンプル
なイベントベースの
API
を使い、リアルタイムの
Web
アプリケーションを開発できます。ここで
はリアルタイムかつ匿名の一斉通知システム(ユーザー名のない
Twitter
のようなものを