Heute hatte ich von diesem Code verursacht ein Leistungsproblem zu beheben: Achten Sie auf UpdateStats in der VorlageFunktion innerhalb einer Vorlage aufgerufen wird oft (Angular JS)
<script type="text/ng-template" id="entityGrouper">
<section>
<div>
<ul ng-click="hideEntityBox = !hideEntityBox">
<li>
{{ entityNode.name }}
</li>
<li ng-repeat="breadcrumbItem in entityNode.breadcrumb">
{{ breadcrumbItem }}
</li>
</ul>
{{ updateStats(entityNode) }}
<span ng-include="'/mypath/views/resume.html'"></span>
</div>
<div>
<div ng-repeat="entityNode in entityNode.group" ng-include="'entityGrouper'"></div>
<div ng-repeat="entity in entityNode.group" ng-include="'entityBox'"></div>
</section>
</script>
Template Verwendung genannt:
Nach dem Debuggen dieses Codes entdeckte ich, dass diese Funktion viel mehr Zeit als die Array-Größe aufgerufen wurde (mein Array hat 4 Objekte und die Funktion wurde mehr als 100 Mal aufgerufen), auch Maus Hover nannte diese Funktion. Ich habe das behoben, indem ich einfach ein ng-init in die Vorlage eingefügt habe und jetzt funktioniert es richtig, aber ich habe nicht herausgefunden, warum diese Funktion so oft aufgerufen wurde. Gibt es etwas über die Zwei-Wege-Datenbindung?
Rufen Sie die gleiche Vorlage rekursiv auf? Es gibt wieder einen '
' Aufruf innerhalb der Vorlage – Developer