39

angular アプリでファクトリ/サービスを作成しました。

ブラウザでデバッグしたい。そのインスタンスにアクセスして、その関数と変数の値を確認する方法はありますか?

角度スコープには、次を使用してアクセスできます

angular.element(e).scope()

factory にアクセスする同様の方法はありますか?

4

5 に答える 5

67

次のようなものを使用できると思います:

angular.element(e).injector().get('serviceName')

angularjs サービスはsingletonsであるため、任意のangular.elementでこれを実行すると、常に同じサービス インスタンス/オブジェクトが返されます。

于 2013-01-11T14:08:43.487 に答える
8

サービスを任意のコントローラーに挿入してから、console.log(myService);

フィドル

于 2013-01-11T15:24:43.270 に答える
6

@bmleite が言ったように、次を使用できます。

angular.element( {DOM element} ).injector().get('serviceName')

必要な DOM 要素を選択し (Chrome 開発者ツールの [要素] タブまたは Firefox/Firebug の [HTML] タブを使用)、[コンソール] タブで $0 を使用してその要素をポイントします。

選択する最も簡単な要素は、ngApp ディレクティブがある要素です。最終的なコードは次のとおりです。

var myService = angular.element($0).injector().get('serviceName');

次に、彼のすべての変数と関数にアクセスできます。

myService.getConfig('dev');
于 2014-11-04T10:23:05.447 に答える
4

ng-inspect chrome 拡張機能を試してください。

コンソールの $get('serviceName') は、サービスまたはファクトリ インスタンスを返します。

于 2015-02-22T18:46:35.450 に答える