6

作成時にリソースをフェッチする角度コントローラーがあります。

angular.module('adminApp')
  .controller('PropertiesCtrl', function ($log, $scope, Property, $location) {
    $scope.properties = Property.query()  
  });

次に、「プロパティ」リソースを作成できるようにコントローラーにロジックを追加します。

angular.module('adminApp')
  .controller('PropertiesCtrl', function ($log, $scope, Property, $location) {
    $scope.properties = Property.query()  
    $scope.create = function(){
      //logic to create
    };
  });

ただし、「プロパティ」を作成するフォームを使用している場合、最初にすべてのプロパティを取得するために不要な呼び出しが行われます。どうすればこれを回避できますか?


潜在的な解決策は?

  1. プロパティをフェッチしないプロパティの作成専用の別のコントローラーを作成できます。ただし、単一のコントローラーの下で単一のリソースのすべての CRUD 操作をカプセル化する方が簡単になります。
  2. すべてのプロパティを取得する関数を作成できます。ただし、私のインデックス ページでは「プロパティ」を直接使用しています。最初に何らかのメソッドを呼び出してデータを取得し、次にそのデータを使用する必要があります (どういうわけか?)
4

3 に答える 3

0

同じリソースを使用する複数のビュー (およびコントローラー) を持つことは問題ありません...それは悪い設計ではありません。

すべての CRUD 操作を実行するために複数のリソースが必要な場合、それは問題になります。

最初のソリューションを使用してください。ビューごとに 1 つのコントローラー。単一のコントローラーではなく、すべての CRUD 操作を再グループ化するのはリソースです。

于 2013-08-25T19:38:22.057 に答える