2016-04-03 11 views
2

私はサービスに依存するディレクティブを持っていますが、私はそのディレクティブの状態をいくつか維持しています。 同じディレクティブを2か所で使用する場合は、新しいサービスをインスタンス化する必要があります。例えば 、この場合、それぞれのディレクティブインスタンスの内部状態を維持するAngularjsディレクティブ

<body> 
First directive instance: <custom-directive> 1 </custom-directive> 
Second directive instance: <custom-directive> 2 </custom-directive> 
</body> 

、両方のコントローラが同じサービスオブジェクトが移入が、私は内部的にその状態を維持するために、さまざまなサービスオブジェクトを必要としています。

誰かが助けることができます。

答えて

1

サービス/ファクトリを引き続き使用できますが、新しいインスタンスを返すサービス内にgetInstanceメソッドが公開されているため、各ディレクティブに対して新しいインスタンスを挿入して作成することができます。

angular.module('app', []).factory('sharedService', sharedService); 

function sharedService() { 
    return { 
     getInstance: function() { 
      return new instance(); 
     } 
    } 

    function instance() { 
     // functionality 
    } 
} 
関連する問題