2016-05-21 3 views
1

私は、より多くの機能をロードしようとしています。私はtwitch APIからデータを取得しています。AngularJSもっと多くの機能をロードする

$scope.loadData = function() { 

$http.get("https://api.twitch.tv/kraken/streams?limit=9&offset=" + $scope.x).then(function(response) { 
    $scope.myName = response.data.streams; 
    $scope.link="http://player.twitch.tv/?channel="; 
    return $scope.x=$scope.x + 9; }); }; 
    //initial load 
    $scope.loadData(); 

$ scope.myNameは、データが格納され、ng-repeatで使用される配列です。
$ scope.xはオフセットに使用する変数で、ボタンをクリックするとインクリメントされ、新しいストリームをフェッチするために使用されます。ボタンをクリックすると古い9ストリームが削除され、新しい9ストリームが読み込まれます。ボタンをクリックするたびに9つずつ追加するだけです。 ここをクリックしてください:https://plnkr.co/edit/TbOf9hkPILJn2snW8D7Aありがとうございます。

+1

なぜ3種類の角度バージョンを読み込んでいますか?特に、コードが角度1に設定されているときに角度2を読み込むのはなぜですか? – charlietfl

+0

これはplnkrのためのものですが、時にはうまく動作しないので、すべてロードしてください。 – prp101

+0

それは意味をなしませんし、デモをちょっと複雑にしました – charlietfl

答えて

0

私はうまく問題を理解している場合、あなただけの代わりにそれを置き換えるので、あなたのデータ配列を追加する必要があります

$scope.myName = []; 
$scope.loadData = function() { 

$http.get("https://api.twitch.tv/kraken/streams?limit=9&offset=" + $scope.x).then(function(response) { 
    // add streams to existing array 
    Array.prototype.push.apply($scope.myName, response.data.streams); 

    $scope.link="http://player.twitch.tv/?channel="; 
    return $scope.x=$scope.x + 9; }); }; 
    //initial load 
    $scope.loadData(); 
+2

はArray.push.apply()のようなものを使うのが簡単です – charlietfl

+0

良い点、私は答えを更新しました。 – PJDev

+0

そうです、両方ともありがとう、ありがとうございました。私は追加する必要があることを知っていました。ちょうど正しい構文を見つけることができませんでした。ありがとう。 :) – prp101

0

HERE IS THE SOLUTION OF PLNKR

私はあなたのように、下部にStreamoviコントローラおよび追加負荷より多くのボタンを変更しました読み込みをトリガーすることができます

app.controller('Streamovi', function($scope, $http) { 

    var ITEMS_PER_LOAD = 9; 
    var offset = 0; 
    $scope.myName = []; 

    function loadStreams(){ 
    $http.get("https://api.twitch.tv/kraken/streams?limit="+ITEMS_PER_LOAD+'&offset='+offset).then(function(response) { 
     $scope.myName = $scope.myName.concat(response.data.streams); 
     $scope.link="http://player.twitch.tv/?channel="; 
     offset+=ITEMS_PER_LOAD; 
    }); 
    } 

    //handler for the "Load More" button in the view. 
    $scope.loadMore = function(){ 
    loadStreams(); 
    } 

    //initial Loading 
    loadStreams(); 
}); 
+0

ありがとう:)魅力のように動作します。 – prp101

関連する問題