AngularJS1.0.2とjQuery1.8.2を使用しており、コントローラーの場合と同様に、AngularJSに依存関係をオブジェクトに注入させようとしています。jsFiddleの基本的な例を見つけることができます。そこには、2つのコントローラー(ListとNewItem)、オブジェクト(Item)とサービスを備えたモジュール(それぞれservicesとという名前communication)があります。
私の問題はItem:
var Item = function (name, price) {
var self = this;
self.name = name;
self.price = price;
self.pretty = function () {
return self.name + ": " + self.price;
};
};
その中で、外部でいくつかのものを使用する必要があります。たとえば、プロパティを通貨対応の文字列prettyにフォーマットするメソッドが必要だとします。price
self.pretty = function () {
return self.name + ": " + $filter("currency")(self.price);
};
しかし、$filter定義されていないため、これは機能しません。(念のために言っておきますが、の使用法$filterは単なる例であり、何でもかまいません。)
また、オブジェクトを作成しているのはAngularJSではないため(コントローラーの場合のように)、に変更しても機能しません。それは私ですvar Item = function (name, price) {。var Item = function ($filter, name, price) {
では、どうすればAngularJSにオブジェクトを作成させることができますか、または必要な依存関係を解決させることができますか?
のようなものvar item = angular.create(Item, $scope.name, $scope.price);か、var item = new Item(angular.inject("filter"), $scope.name, $scope.price);私は思う...