Tag in ng-repeat angular -js

I have an ng-repeat list <ul>. I want to insert <br>after each tag <ul>. How can i do this?

Here is my code

<ul class="list" ng-repeat="result in results">
    <li class="list__header">{{$index+1}}</li>
    <li class="list__item">{{result.name}}</li>
    <li class="list__item">{{result.address}}</li>
    <li class="list__item">{{result.phone_number}}</li>
</ul><br><br>

The above is <br>not renderd

+4
source share
2 answers

Use ng-repeat-startand ng-repeat-end:

    <ul class="list" ng-repeat-start="result in results">
                   <li class="list__header">{{$index+1}}</li>
                   <li class="list__item">{{result.name}}</li>
                   <li class="list__item">{{result.address}}</li>
                    <li class="list__item">{{result.phone_number}}</li>
    </ul><br><br ng-repeat-end />

Documentation: https://docs.angularjs.org/api/ng/directive/ngRepeat#special-repeat-start-and-end-points

+8
source

You can also use a custom directive for this purpose:

 .directive("insertAfter", function(){
    return {
        scope: {
            content: "@"
        }, 
        link: function(scope, element, attrs){
            element.after(scope.content);
        }
    }
  });

Then use it inside your list:

<ul class="list" ng-repeat="result in photos" insert-after content="<br>">...</ul>
0
source

Source: https://habr.com/ru/post/1615886/


All Articles