2016-03-27 21 views
1

私は何が間違っているのか分かりませんが、このカレンダーアプリでデータを表示していません。データが表示されません - 予期しないトークン機能

このエラーが発生します。コンソールで予期しないトークン機能が発生しました。

day.html

 <h2 class="date">{{ days.date | date }}</h2> 
     <div class="event" ng-repeat="event in days.events"> 
      <a href="#/{{$index}}"> 
      <h3 class="name">{{event.name}} </h3> 
      <p><span class="from"> {{event.from | date}} </span> - <span class="to"> {{event.to | date}} </span></p> 
      </a> 
     </div> 

DayController.js

app.controller('DayController', ['$scope', 'events', function($scope, events) { 
     events.success(function(data) { 
     $scope.days = data; 
     }); 
    }]); 

events.js

app.factory('events',['$http', function($http){ 
    return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json') 
    .success(function(data){ 
    return data; 
    }) 
    .error(function(err){ 
    return err; 
    }); 
}]); 
+0

このエラーは、エラーが発生した場所を示す必要があります。役立たないのですか? –

答えて

1
あなたのコードで

現在の問題は、あなたが戻っていないされて$http約束、私はあなたがそれを返したが、あなたが応募したと言うことを意味する.success & errorその約束をコールバックして、あなたのコードが約束したチェーンに従うように制限しました。

アプリの工場コードは、既に$http.getによって返されている約束を返す必要があります。また、将来的には容易に拡張することができるような方法が工場にあるべきだと私は言います。

工場

app.factory('events',['$http', function($http){ 
    var events = {}; 
    events.getData = function(){ 
     return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json'); 
    };  
}]); 

コントローラ

app.controller('DayController', ['$scope', 'events', function($scope, events) { 
    events.getData().then(function(response) { 
    $scope.days = response.data; 
    }); 
}]); 
-1

工場は、単に返すよう$ http.get

app.factory('events',['$http', function($http){ 
    return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json') 
}]); 

これはあなたに解決される約束を返します。 contあなたが現在行っているものと同じローラー

events.then(function(res) { 
    $scope.days = res.data; 
}); 

もっと良い解決策として、解決されたデータを使用して制御装置に注入することができます。チェックアウトの例here

+0

'.success'を使うと' .error'を使うのが廃止されました..&この形式のfactoryを使うと、今後拡張機能が提供されないでしょう。 –

+0

ありがとう@PankajParkar、答えを更新 –

+0

私はudpatedの残りの部分を参照してください.. do私が言及したコメントのために私の答えを見てください。 –

関連する問題