Nesnelerim var ve her nesnenin benim sender{[email protected]}
gibi bir e-posta gönderen özelliği var. Şimdi bir tabloyu 2 değerle doldurmak istiyorum: 1) isim ("gönderen") ve 2) adresi ("[email protected]").AngularJS filtre/nesneye nesne ekle
Şu anda 2 yeni özelliği nesnelere eklemek ve bir ng-yineleme ile oluşturmak için bir filtre kullanıyorum. Sorunum şimdi bir hatayı
olsun olmasıdır [$ rootScope: infdig]
(ama sonuç render kullanabilirsiniz). Ben biraz googled ve sorun benim filtre ve ng-tekrar nesne uzunluğu ile eşleşmeyen özellik uzunluğunda yeni bir dizi oluşturmak olabilir.
Angularjs'e yeni geldim ve filtreyi tamamen yanlış kullanıp kullanmadığımı ve istediğim çözüm için çok daha iyi bir yöntem olup olmadığından emin değilim?
Demo Kod JS:
demoApp.filter("customFilter", function() {
return function (input) {
var result = [];
if (input && input.length && input.length > 0) {
for (var i = 0; i < input.length; i++) {
var senderName = "";
var senderDomain = "";
var both = input[i].Name;
both = both.split("").reverse().join("");
senderName = both.substring(both.indexOf("<") + 1).split("").reverse().join("");
senderDomain = both.substring(1, both.indexOf("<")).split("").reverse().join("");
var domainBeforeAt = senderDomain.split("@")[0];
var domainAfterAt = senderDomain.split("@")[1];
var output = {
"customId": i,
"displayName": senderName,
"domain": {
"full": senderDomain,
"beforeAt": domainBeforeAt,
"afterAt": domainAfterAt,
}
}
result.push(output);
}
}
return result;
}
});
Demo Kodu HTML:
<div ng-repeat="sender in list.Sender | customFilter track by $index">
Evet, bu doğru yön - teşekkürler! :) {{sender.Name | kullanabilir miyim? customFilter: 'domain.full'}} filtremde bir değerlendirme yapmadan mı? (return ("output." param));) – Chris
Yardım etmesine sevindim! Lütfen iç içe geçmiş parametrelerle ilgili güncellemeye bakın. –