Özel bir yönergesi yazıyorum. Bu konuda çok fazla örnek yaptım, yöntemleri, objeleri, dizeleri, vs. geçirdim. Ama şimdi ng-yinelemenin içeriğini parametre olarak geçmek zorundayım ve bunu hiçbir şekilde iletemem. Ayrıntılar şu şekildedir: Direktifimin Javascript dosyası.ng-repeat parametresi olarak iletilemiyor
. Görüldüğü gibi, ng-tekrarının içeriğini dış alandan direktife taşıyan bir fRepeat vardır.
return {
restrict: 'E',
replace: true,
scope: {
fRepeat: '@',
fClick: '&'
},
transclude: true,
templateUrl: '/directives/f-list_jsp'
};
Benim özel yönergesinin düzen:
<div class="dataTable">
<ul class="list-unstyled">
<li ng-repeat="{{fRepeat}}" ng-click="fClick">
<div ng-transclude></div>
</li>
</ul>
</div>
Ve her sayfadan yönergesini nasıl kullandığımız şudur:
: Hep hata alıyorum AncakExpected expression in form of 'item in collection[ track by id]' but got 'fRepeat'.
<f-list f-repeat="fund in funds track by $index" f-click="fCtrl.showDetails($index)">
<i class="fa fa-top fColor{{fund.risk}}"></i> {{fund.title}}
</f-list>
Bunu geçmeyi denedim Her durumda Javascript dosyasında fRepeat: '&'
veya fRepeat: '='
ya da kullanımı yok. Onu bir ip gibi göstermek mümkün değil mi ya da hiç mümkün değil mi?
fRepeat en değerindeki ' 'noktası' ne? GeRepeat' nereden geliyor? Lütfen "ng-repeat" ın ** sabit ** bir ifade beklediğini ve '{{fRepeat}}' ng-Repeat'dan sonra değerlendirildiğini unutmayın, bu nedenle bu işe yaramaz. – zeroflagL
Belirtilen zeroflagL gibi, ng-yinelemeniz dinamik bir ifade alamaz.Bununla birlikte, 'koleksiyonunuzu' bir parametre olarak geçirebildiğinizden ve işe yarayacağından emindim. Bu senin için bir seçenek mi? – AdelaN
@zeroflagL fRepeat düzenledim. Tüm durumları denedim, '' ile ve. –