SR Office

ブログ
2013年3月29日

AngularJS リファクタリング コントローラーの継承






AngularJSで試作しているものはTDDで開発している。レッドー>グリーンー>リファクタリングのサイクルで回していくとコードも改良されて、いい感じになってくる。

リファクタリングではじめに行うのは重複コードの削除だ。AngularJSではコントローラーにコードを書く事が多いだろうから、まずコントローラーの継承方法を。

//BaseController
function BaseController($scope) {
 //ベースコントローラー
}

//Controller1
function Controller1($scope,$injector) {
 //継承されたコントローラー

 $injector.invoke(BaseController, this, {$scope: $scope});
}
BaseController.prototype = Object.create(Controller1.prototype);

AngularJSではこれでコントローラーの継承が行える。これだけのことなのにかなり時間がかかった。AngularJSというよりも、Javascriptでつまずいた感じだ。

参考にしたこのはここ