我正在添加json文件中的段落。我如何计算它们(我尝试使用.length),如果少于10,我需要创建默认值并将它们添加到页面上?例如,用户可以添加带有一些自定义文本的段落,如果他添加了3个段落,我想默认添加7个段落。因此页面上始终存在10个。这是我的结构,它目前显示4个段落,因为我在json文件中只有4个:
<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个默认段落等... < / p>
任何想法我怎样才能做到这一点?
感谢。
编辑:
控制器:
$scope.list = {};
$http.get('name.json').success(function(data, status, headers, config) {
$scope.list = data;
});
答案 0 :(得分:2)
我会在控制器中执行此操作。在从json文件中添加段落的函数中,在添加文件中的所有段落后,只需添加足够的默认段落,使paragraphs
的长度等于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);
}
});
&#13;
<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>
&#13;