SORU
27 Mart 2013, ÇARŞAMBA


Nasıl iç içe nesneleri kullanırken AngularJS özyinelemeli şablonları yapabilir miyim?

Form öğeleri form iç içe gruplar içeren bir JSON ojbect, dinamik olarak oluşturmak için çalışıyorum:

  $scope.formData = [
  {label:'First Name', type:'text', required:'true'},
  {label:'Last Name', type:'text', required:'true'},
  {label:'Coffee Preference', type:'dropdown', options: ["HiTest", "Dunkin", "Decaf"]},
  {label: 'Address', type:'group', "Fields":[
      {label:'Street1', type:'text', required:'true'},
      {label:'Street2', type:'text', required:'true'},
      {label:'State', type:'dropdown',  options: ["California", "New York", "Florida"]}
    ]},
  ];

Ng-anahtar blokları kullanıyorum, ama Adresi yukarıda nesne gibi iç içe geçmiş öğeleri ile savunulamaz hale gelir.

İşte keman: http://jsfiddle.net/hairgamiMaster/dZ4Rg/

Bu iç içe geçmiş bir yaklaşım sorunu nasıl herhangi bir fikir? Çok teşekkürler!

CEVAP
27 Mart 2013, ÇARŞAMBA


Bu sana yardımcı olabilir diye düşünüyorum. Bir ağaç özyinelemeli unsurlar hakkında Google Group bulduğum bir cevap.

Brendan Owen dan öneri: http://jsfiddle.net/brendanowen/uXbn6/8/

<script type="text/ng-template" id="field_renderer.html">
    {{data.label}}
    <ul>
        <li ng-repeat="field in data.fields" ng-include="'field_renderer.html'"></li>
    </ul>
</script>

<ul ng-controller="NestedFormCtrl">
    <li ng-repeat="field in formData" ng-include="'field_renderer.html'"></li>
</ul>

Önerilen çözüm kullanan bir şablon kullanarak ng-eklerseniz, geçerli öğenin çocuk varsa kendisini arayıp yönergesi hakkında.

Senin durumunda, ben olsam deneyin oluşturmak için bir şablon ile ng-geçiş yönergesi (bir vaka başına tür etiket yaptığın gibi) ekleyebilirsiniz ng vardır sonunda eğer varsa alt etiketleri.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dirty Loops

    Dirty Loops

    21 Mayıs 2007
  • KendrickLamarVEVO

    KendrickLama

    9 ŞUBAT 2011
  • michaeljacksonVEVO

    michaeljacks

    2 EYLÜL 2009