biz Proje servisi ile maruz projelerin bir dizi var ki:AngularJS'de radyo ve onay kutularıyla karmaşık nesnelere nasıl bağlanır?
Select favorite project:
%label.radio(ng-repeat="project in Project.query()")
%input(type="radio" ng-model="data.favoriteProject" value="{{project.id}}") {{project.name}}
Bu id değerine choices.favoriteProject ayarlar: Sonra
{ id: '123', name: 'Yeoman', watchers: '1233', ... }
{ id: '123', name: 'Grunt', watchers: '4343', ... }
, biz favori projeyi seçmek için bir form var Seçilen projenin Çoğu zaman, biz ilgili nesneye erişmesi gereken, sadece id:
John's favorite project:
{{Project.get(data.favoriteProject).name}}
Ne aradığım düz nesnenin kendisi değil id için radyolar ve onay kutularını bağlamak için bir yoldur, bu yüzden biz olabilir yerine
John's favorite project:
{{data.favoriteProject.name}}
yok. Bu, ng-options yoluyla select yönergesi ile mümkündür, ancak bunu radyolar ve onay kutuları ile nasıl yapabiliriz? Mümkünse referanslar yerine eşleme için kimlikleri kullanmayı çok isterim. "Gerçek proje nesnesine data.favoriteProject bağlamak ve eğer eşleşirse referansların yerine (kontrol etmek id kullanın:
burada yazıyor benSelect favorite project:
%label.radio(ng-repeat="project in Project.query()")
%input(type="radio" ng-model="data.favoriteProject" value="{{project}}" ng-match="id") {{project.name}}
aradığım bir örnek, netleştirmek için)".
Teşekkür ederiz! Bu çözümü çok beğendim. Bu basit, yine de düzgün çalışıyor! Şimdi başka çözümler için soruyu açık bırakacağım. Bununla ilgili sorun, verilerin (kimlik) çoğaltılması ve kendimizi değerin ayarlanmasını yönetmemiz gerektiğidir. – randomguy
Neden proje nesnesi yerine projeler [$ index] kullanıyorsunuz? – randomguy
jsFiddle'da bu yeniden kayıt işlemini yaptım, ancak gönderiyi güncellemeyi unuttum. Teşekkürler! –