過去数週間でいくつかの Angular を学ぼうとしたので、特定のアプリケーション アーキテクチャを採用しました。
中間の大規模な SPA を想定して、ビューを作成し、maincontroller を適用します。
<html ng-app="app">
<body ng-controller="appCtrl">
<!-- All of the view goes in here -->
</body>
</html>
ここで、アプリケーションで実行する必要があることについて考えます。これがいくつかのデータを保存して操作する必要があると仮定すると、「クラス」を構築するためのプロバイダーを作成します。
var data = angular.module('data', []);
data.provider('$dataObject',function(){
this.$get = function($http){
function DataObject(){
var field = "testvalue";
var object = {
// ...
}
}
DataObject.prototype.processData = function(){
// do something
};
return {
Shipment: function(){
return new Shipment();
}
}
}
});
次に、メインコントローラーでそのクラスのインスタンスを作成し、必要なすべてのデータをビューからそのオブジェクトに格納し、クラス メソッドを呼び出して処理します。
アプリケーションが別の機能を必要とする場合、たとえば、いくつかのものを選択するためのダイアログが必要な場合は、上記の手順を繰り返して、そのダイアログ用のクラスを作成します。
さて、私はそのように物事を行うことに非常に満足していますが、誰かがこの悪い習慣を検討するのではないかと思います。