私は最近、AngularJSで新しく、controller
にエイリアスを使用して、$http
というレスポンスfactory
からデータを呼び出そうとしています。私は今何をやったか
は、それが以下のものです:
_discover.htmlDiscoverService.js
var discoverService = angular.module('discover.services', []);
discoverService.factory('discoverV', function ($http) {
return {
list: function(callback){
$http.get('https://myurl.com/get/jsondata').success(callback);
}
};
});
DiscoverCtrl.js
var discoverModule = angular.module('discover', ['discover.services']);
discoverModule.controller('discoverCtrl', [ '$scope', 'discoverV', function($scope, discoverV) {
$scope.elm = [];
discoverV.list(function(data) {
$scope.elm = data;
});
}]);
<div class="wrapper" ng-controller="discoverCtrl as discover"> <article> <section id="block-stories" class="container" ng-repeat="element in elm"> {{element.story_id}} </section> </article> </div>
私はそれをやろうとしてきたし、次のコードが動作しない理由を私は理解していない:
discoverModule.controller('discoverCtrl', [ 'discoverV', function(discoverV) {
var elm = this;
elm.videos = [];
discoverV.list(function(data) {
elm.videos = data;
});
}]);
<div class="wrapper" ng-controller="discoverCtrl as discover">
<article>
<section id="block-stories" class="container" ng-repeat="element in discover.videos">
{{element.story_id}}
</section>
</article>
</div>
私が間違ってやっていますか?
アドバイスありがとうございます。
何が問題なのですか?現在のところ、私は問題の可能性がある 'discoverVideos'サービスをあなたに注入することはありません。 –
新しいHTML @MatthewGreenで古いコードを使用していたので私の答えが更新されました – DevStarlight