Heim > Web-Frontend > js-Tutorial > Probleme im Zusammenhang mit dem Abhören des ng-repeat-Renderings in AngularJS

Probleme im Zusammenhang mit dem Abhören des ng-repeat-Renderings in AngularJS

亚连
Freigeben: 2018-06-11 17:00:36
Original
1517 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich zwei Methoden für AngularJS zur Überwachung des Abschlusses des NG-Repeat-Renderings vorgestellt und die zugehörigen Betriebstechniken von AngularJS anhand benutzerdefinierter Anweisungen und Broadcast-Ereignisse analysiert, um die Überwachungsfunktion anhand von Beispielen zu implementieren dazu

Die Beispiele in diesem Artikel beschreiben zwei Methoden für AngularJS, um den Abschluss des ng-repeat-Renderings zu überwachen. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Es gibt zwei Methoden, um den Abschluss des NG-Repeat-Renderings zu überwachen

1. Die praktischste Methode:

<ul class="pprt_content">
    <li ng-repeat="src in imageHotList track by $index" ng-click=&#39;goGoodsDet(src.goodsId,src.merchId)&#39; on-finish-render-filters="completeRepeat">
      <img ng-src="{{productUrl}}{{src.imageName}}">
    </li>
</ul>
Nach dem Login kopieren

Entsprechender Scope-Controller:

$scope.completeRepeate= function(){
alert(&#39;1&#39;)
}
Nach dem Login kopieren

Benutzerdefinierte Anweisungsanweisung:

var app = angular.moduler(&#39;myApp&#39;,[]);
app.directive(&#39;onFinishRenderFilters&#39;, [&#39;$timeout&#39;, function ($timeout) {
    return {
      restrict: &#39;A&#39;,
      link: function(scope,element,attr) {
        if (scope.$last === true) {
          var finishFunc=scope.$parent[attr.onFinishRenderFilters];
          if(finishFunc)
          {
            finishFunc();
          }
        }
      }
    };
}])
Nach dem Login kopieren

2. Broadcast-Ereignisse verwenden

/*
* Controller文件中的代码
* Setup general page controller
*/
MetronicApp.controller(&#39;simpleManageController&#39;, [&#39;$rootScope&#39;,
&#39;$scope&#39;, &#39;settings&#39;,&#39;$http&#39;, function($rootScope, $scope, settings,$http) {
  $scope.$on(&#39;ngRepeatFinished&#39;, function (ngRepeatFinishedEvent) {
    //下面是在table render完成后执行的js
    FormEditable.init();
    Metronic.stopPageLoading();
    $(".simpleTab").show();
  });
});
MetronicApp.directive(&#39;onFinishRenderFilters&#39;, function ($timeout) {
  return {
    restrict: &#39;A&#39;,
    link: function(scope,element,attr) {
      if (scope.$last === true) {
        $timeout(function() {
          scope.$emit(&#39;ngRepeatFinished&#39;);
        });
      }
    }
  };
});
Nach dem Login kopieren

HTML

<!--HTML页面的代码,添加标签onFinishRenderFilters(格式有变):on-finish-render-filters-->
 <tr style="display: none" class="simpleTab" ng-repeat="simpleProduct in simpleProducts"
   on-finish-render-filters>
     <td>
       {{simpleProduct.productNo}}
     </td>
</tr>
Nach dem Login kopieren

Das oben Gesagte habe ich für Sie zusammengestellt. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

Wie verwende ich die globale Eingabeaufforderungsbox-Komponente in Vue?

So verwenden Sie die ElementRef-Anwendung in Angular4

So verwenden Sie CLI-Anfrage-Proxy und Probleme bei der Projektverpackung in Vue

Verwenden Sie die Webpack-Vorlage in Vue-Cli, um Projektkonstruktions- und Verpackungspfadprobleme zu lösen

Bus Global Event Center in Vue (ausführliches Tutorial)

Das obige ist der detaillierte Inhalt vonProbleme im Zusammenhang mit dem Abhören des ng-repeat-Renderings in AngularJS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage