成功機能は、それが内部と呼ばれていたサービスのthis
範囲にアクセスすることはできません。 PUTリクエストからコールバックのサービスのプロパティを更新する必要があります。
これは私がサービスで何をしようとしているの削減例です:JSに多少の誤差がある場合
はvar myApp = angular.module('myApp', function($routeProvider) {
// route provider stuff
}).service('CatalogueService', function($rootScope, $http) {
// create an array as part of my catalogue
this.items = [];
// make a call to get some data for the catalogue
this.add = function(id) {
$http.put(
$rootScope.apiURL,
{id:id}
).success(function(data,status,headers,config) {
// on success push the data to the catalogue
// when I try to access "this" - it treats it as the window
this.items.push(data);
}).success(function(data,status,headers,config) {
alert(data);
});
}
}
申し訳ありませんが、主なポイントは、私はサービスの適用範囲へのアクセス方法です成功コールバックの中から?
EDIT:この質問への答えが正しかった一方でジョシュとマークの両方が、私の知る限りでは、それを
私はまだファクトリメソッドがこの場合には良いと思っていますが、実際に質問に答えるために+1します。 :-) –
@ジョシュ、私は工場も好む。 –
私は工場の回答に行くつもりですが、質問に答えたので、これを正しい回答として選択する必要があるように感じます。私はあなたの質問@JoshDavidMiller –