Denetleyici dizisinden veri yükleyen ve bunları bir tabloda tutan bir HTML şablonum var. Ayrıca, tablo satırları için transleksiyonu yapan bir yönergeye sahibim. Veri dizisi API isteklerine dolduruluyor. Yeni isteklerden sonra isteğim var, masamda birleştirildi. Önceki sonuçların silinmesi yerine her istek için bir dizi satır ekleniyor.Önceki verisi temizle Talep göndermeden önce
Dizilimimin durumunu kontrol etmek için denetleyici kodumda hata ayıkladı ve her istekten önce temizleniyor. Kesinlikle. Ancak, önceki sonuçlara yeni sonuçlar eklenir. Nedeni benim şablon çıkarma yönergesinde olabilir. ekleme için kullanılan
angular.module('app').directive('myResult',
['$compile',
function ($compile) {
return {
transclude: true,
templateUrl: '/Scripts/app/templates/resultTemplate.html',
compile: function (tElement, tAttr, transclude) {
var contents = tElement.contents().remove();
var compiledContents;
return function (scope, iElement, iAttr) {
if (!compiledContents) {
compiledContents = $compile(contents, transclude);
}
compiledContents(scope, function (clone, scope) {
iElement.replaceWith(clone);
});
};
}
}
}]);
Ve nihayet şablonu::
<tr class="big-bord">
<td colspan="4"><h3>{{result.fullName}}</h3></td>
</tr>
<tr ng-repeat="item in result.items">
<td>{{item.value1}}</td>
<td>{{item.value2}}</td>
<td>{{item.value3}}</td>
<td>{{item.value4}}</td>
</tr>
Ben nasıl İşte
<div class="row">
<div class="col-md-12">
<div id="results" ng-show="results.length > 0">
<table class="table result-table">
<thead>
<tr>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="result in results" my-result></tr>
</tbody>
</table>
</div>
</div>
</div>
benim ekleme direktifin kodudur: gibi
şablon görünüyor Her API isteğinden önce sonuçlarımı temizle?
Hangi açısal sürümünü kullanıyorsunuz? Angular 1.4 belgelerine göre derleme (transclude) kullanımdan kaldırıldı. – jbrown
jbrown, Angular 1.5.7 kullanıyorum. Transkripsiyon yerine ne geliyor? – Waldemar
Açısal dokümanlar durumu "bunun yerine bağlantı işlevine iletilen transclude işlevini kullanır". Daha fazla bilgi için: https://docs.angularjs.org/api/ng/service/$compile – jbrown