在ng-repeat中间插入新的html代码

时间:2017-05-23 05:30:20

标签: angularjs

我想在中间ng-repeat中插入新的html代码,但我不知道如何...我已经尝试使用追加但它无法附加。 这是我的代码的一些例子

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>

<body ng-app="myApp" ng-controller="myCtrl">

<h1 ng-repeat="x in records">{{x}}

<div id="new_div"></div>
</h1>

<script>

    var app = angular.module("myApp", []);
    app.controller("myCtrl", function($scope) {
      $scope.records = [
        "Alfreds Futterkiste",
        "Berglunds snabbköp",
        "Centro comercial Moctezuma",
        "Ernst Handel",
      ]

        $scope.$on('$viewContentLoaded', function() {
            $scope.AppendText();
        });

  $scope.AppendText = function() {
   var myEl = angular.element( document.querySelector( '#new_div' ) );
   myEl.append('</div><div class="detail_area"><p class="detail_area_text"> Find out more about the products you want in a detailed search method.</p><div class="detail_area_button_div"><button class="detail_area_button_text"><span>Detail search filter <span style="color: #81abde;font-size: 50px;margin-left: 4px;"> > </span></span></button></div></div><div class="container container_page">');
  }
});

</script>

</body>
</html>

任何人都知道怎么做?

2 个答案:

答案 0 :(得分:0)

按索引跟踪重复。使用$(document).ready(function() { $('#mytable').DataTable(); $('#mytableSurvey').DataTable(); $(document).on('change' , '#select-tables', function(){ var table = $(this).val(); $('#' + table +'_wrapper').show(); $('[id$="_wrapper"]').not('#' + table +'_wrapper').hide(); }); $("#select-tables").trigger("change"); }); 显示您的记录。然后检查{{x}}中的条件以显示新div。你将从{0}开始在ng-if中获得迭代次数。

$index

答案 1 :(得分:-1)

首先,您必须使用attrib class而不是id的{​​{1}},因为每个元素应该只有一个div

您可以使用id功能,而不是收听$timeout事件。

你可以有类似的东西:

$viewContentLoaded

甚至更好:

    ...
    "Ernst Handel",
  ]
$scope.AppendText = appendText;

$timeout($scope.AppendText);

function appendText() {
    var myEl = angular.element...