2016-03-23 8 views
0

jsonファイルから段落を追加しています。どのように私は(私は.lengthで試して)それらを数えることができますし、10未満の場合は、デフォルトのものを作成し、ページに追加する必要がありますか?たとえば、ユーザーはカスタムテキストで段落を追加することができます.3段落を追加すると、デフォルトで7個を追加します。だから、常に10ページがページにあります。ここに私の構造があると私はJSONファイルにのみ4を持っているので、それは現在4つの段落を示している。Angular JSが存在しない場合、デフォルトで段落を作成します。

<div class="row" ng-repeat="p in list.paragraphs" ng-class="isSelectedBoard(p)"> 
    <p class="slide-wrap" ng-click="setMasterBoard(p)"> 
     some text goes here 
    </p> 
</div> 

ので、ユーザーが段落を追加しない場合は、再度、私はいくつかのデフォルトのテキストをページ上10を表示する必要がありますユーザーが1段落を追加すると、1つのカスタムパラグラフと9つのデフォルトパラグラフなどがあります。

どのようにすればよいでしょうか?

ありがとうございました。

EDIT:

コントローラー:

$scope.list = {}; 

$http.get('name.json').success(function(data, status, headers, config) { 

    $scope.list = data; 

}); 
+1

に等しいparagraphsの長さはそうさせるのに十分なデフォルトの段落を追加あなたのコントローラでこれを行う方がはるかに簡単です。 – Lex

+0

よろしいですか?私はjsfiddleの作業が最高になることを意味します:-) – Morpheus

+0

あなたの既存のコントローラコード、または少なくともこれらの段落の読み込みに関連する部分は見えますか? – Lex

答えて

2

私はコントローラでこれを行うだろう。ファイルからのすべての段落を追加した後、JSONファイルから段落を追加しますあなたの関数では、単にかのように10

angular.module('app', []).controller('MyController', function($scope) { 
 

 
    $scope.list = { 
 
    paragraphs: [{ 
 
     text: 'This is a user paragraph.', 
 
     defaultBG: '#000' 
 
    }, { 
 
     text: 'This is another user paragraph.', 
 
     defaultBG: '#000' 
 
    }, { 
 
     text: 'This is a third user paragraph.', 
 
     defaultBG: '#000' 
 
    }] 
 
    } 
 

 
    var defaultParagraph = { 
 
    text: 'This is a default paragraph.', 
 
    defaultBG: '#000' 
 
    }; 
 

 
    for (var i = $scope.list.paragraphs.length; i < 10; i++) { 
 
    $scope.list.paragraphs.push(defaultParagraph); 
 
    } 
 

 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="MyController"> 
 
    <div class="row" ng-repeat="p in list.paragraphs track by $index" ng-class="isSelectedBoard(p)"> 
 
    <p class="slide-wrap" ng-click="setMasterBoard(p)"> 
 
     {{p.text}} 
 
    </p> 
 
    </div> 
 
</div>

+0

あなたはここにあなたの答えです。これは基本的に私が運転していたものです。 – Lex

+0

ありがとうございますが、 'ng repeat dupes'エラーが発生しました。これを解決するにはhtmlで何を変更する必要がありますか? – Morpheus

+0

'track by $ index'を追加すると段落が表示されますが、まだそのエラーが表示されています – Morpheus

関連する問題