サービスからデータを取得しているときに、自分のビューにデータが取り込まれています。私は、このサービスは、このようなサービスからのAngularJSデータのロード
app.factory('nukeService', function($rootScope, $http) {
var nukeService = {};
nukeService.nuke = {};
//Gets the list of nuclear weapons
nukeService.getNukes = function() {
$http.get('nukes/nukes.json')
.success(function(data) {
nukeService.nukes = data;
});
return nukeService.nukes;
};
return nukeService;
});
と私のコントローラのように定義している私は、コントローラから$ http.getを使用している場合、私はからデータを呼び出すようにしようとした場合のデータは、しかし、細かい移入
function NavigationCtrl($scope, $http, nukeService){
/*$http.get('nukes/nukes.json').success(function(data) {
$scope.nukes = data;
});*/
$scope.nukes = nukeService.getNukes();
}
サービス、私は何も得ない。私はクエリが非同期であることを理解していますが、データが返されると$ scope変数に値を設定する方法を理解するのは苦労しています。私は$ rootscopeを使ってイベントを放送し、コントローラでそれを聞くことができますが、これは正しい方法ではありません。私は本当にこれを正しい方法で行うためのアドバイスを感謝します。
働いていたが、私は理由を尋ねることができますか?私はそれが直接データを渡そうとするのではなく、jsonデータのコンテナである.dataと何か関係があると仮定しています。 Btw、迅速な返信をありがとう! – jamesamuir
それが働いている場合は、答えとして –
と記された回答をマークしてください。ご説明ありがとうございます。 – jamesamuir