ユーザ用ツール

サイト用ツール


software:angularjs

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
software:angularjs [2014/01/20 01:53] dotsoftware:angularjs [2015/06/17 05:21] (現在) – 外部編集 127.0.0.1
行 2: 行 2:
 AngularJS AngularJS
  
-====== 思想 ======+====== 要素 ======
  
 ===== データバインディング ===== ===== データバインディング =====
 +
 +双方向データバインディングが内包されている。
 +
 +データバインディングはController側の$scopeにバインドしたい変数を置き、View側に「ng-controller」を記載することでシームレスに行われる。
 +
 +View側で値が変わった場合に任意の処理を呼び出す方法として $scope.$watch が提供されている。
 +
 +
 +
 ===== ディレクティブ ===== ===== ディレクティブ =====
 +
 +いわゆるカスタムタグの仕組み。
 +
 +新たにタグを作成することもできるし、任意のタグに新たな属性を持たせることができる。
 +
 +タグにディレクティブが指定されると、対応するクラスが呼ばれ、任意の出力や任意の処理を行う。
 +
 ===== ルーティング ===== ===== ルーティング =====
 +
 +デフォルトでは ngRoute を使用する。
 +
 +複雑な画面遷移を行う場合には AngularUI.Router を使うほうが良い。
 +ステートマシンが表現できるからである。
 +
 ===== ディープリンク ===== ===== ディープリンク =====
-===== 再利用可能なコンポーネント ===== 
 ===== 依存注入 ===== ===== 依存注入 =====
 ===== テスト手法 ===== ===== テスト手法 =====
  
 +ユニットテストのランナーには karma を使用するのがスタンダード。
 +karma はランナーであるため、ユニットテストフレームワークは別途必要。
 +Jasmine, Mocha など複数あるが、 BDDとTDDの両方に対応している点でMocha(chai) を推奨したい。
 +
 +e2eテストには protractor の使用を推奨する。
 +protractor もランナーであるため、テストフレームワークは別途必要。
 +ユニットテストと同じにするため Mocha(chai) を推奨したい。
  
 ====== フォーム ====== ====== フォーム ======
行 30: 行 58:
  
 ====== REST API 通信 ====== ====== REST API 通信 ======
 +
 +Restangular を使用することでAPIアクセスクラスを単一にできる。
 +Restangularは「getAll」「getById」といったメソッドを提供する。
  
 ====== トランザクション ====== ====== トランザクション ======
  
 ===== 画面またぎ ===== ===== 画面またぎ =====
software/angularjs.1390182837.txt.gz · 最終更新: 2015/06/17 05:12 (外部編集)