javascript - 如果不存在,Angular JS 默认创建段落

标签 javascript html angularjs

我正在从 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 个默认段落等...

有什么想法可以实现这一目标吗?

谢谢。

编辑:

Controller :

$scope.list = {};

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

    $scope.list = data;

});

最佳答案

我会在 Controller 中执行此操作。在从 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);
  }


});
<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>

关于javascript - 如果不存在,Angular JS 默认创建段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36181212/

相关文章:

javascript - 集成 Angularjs 指令和第 3 方小部件

javascript - 更改 Ajax post/get 请求时的选项字段

html - 在同一行对齐多个图像/标题 - bootstrap 3

javascript - 工具提示被 POPUP WIndow 阻止

html - 如何定义合理的 sass 占位符

html - <p> block 在每个单词后换行,宽度限制为最长单词

javascript - 在 Angular 指令中附加 D3 元素

angularjs - 如何将 $modalInstance 注入(inject)我的 Controller ?

javascript - JavaScript 中的自定义事件与简单地调用常规函数有何不同?

javascript - 插入/更新到具有未确认写入问题的 Meteor 集合