angular.jsで定義したserviceを外部から使ったりする方法

以下のようなモジュールがある。

var app = angular.module("app", []);
app.value("Foo", "foo");

ここで定義したFooはservice出会ったりする場合もあるかもしれない。 このようなモジュールをangularの外側の所で使いたい場合がある。(本当はあんまりそのような形で使うのは良くないことかもしれないけれど)

そのような場合についてのメモ。

app.runでとりあえず実行できる.

app.run(["Foo", function(Foo){
  console.log(Foo); // "foo"
}])

injector経由で中身を取り出すことができる。

var inj = angular.injector(["app"]);
console.log(inj.has("Foo")); // true
console.log(inj.get("Foo")); // "foo"