私のangularjsアプリケーションでは、値を保存してコントローラにそれらを共有するためにfactoryを使用しています。しかし、私は独特の問題に陥っています。は、anglejsの工場値の変更元を見つける必要があります
次は私の工場で:
factory.quoteLinks = {allLinks : [], allLeftLinks :[], curSection : "-1", insType: "-1", test:"-1"};
factory.setQuoteLinks = function(qlinks, qleftLinks, qsubLink, qinsuranceType, testVal) {
factory.quoteLinks = { allLinks : qlinks, allLeftLinks : qleftLinks, curSection: qsubLink, insType: qinsuranceType, test:testVal};
};
factory.getQuoteLinks = function() {
return factory.quoteLinks;
};
私の知る限りでは、値は、私がfactory.setQuoteLinks
を呼び出すときにのみ、factory.quoteLinks
に保存されます。したがって、私が明示的にfactory.setQuoteLinks
を呼び出すたびに、値は正しく格納されています。しばらくしてデバッグ中にコードの残りの部分をデバッグすると、私がfactory.setQuoteLinks
を呼び出さなくても、allLinks
の値がfactory.quoteLinks
に変更されていて、どこが変更されているのか分かりませんその特定の点でallLinks
を変更するにはfactory.setQuoteLinks
に電話していませんが、工場でこの値がどこから変更されているかを追跡する可能性はありますか?この変更の原因は何ですか?私はそれを理解する手がかりがなくなった?
'factory.getQuoteLinks()'のコンシューマがコレクションを変更している場合、それらの変更は 'factory.quoteLinks'によって参照されるオブジェクトに対して行われます。 –