2013-10-07 29 views
6

Ng-anahtarın bir masanın içinde çalışmasını sağlayabilir miyim? Tablo örneği çalışmıyor ancak ul exampel sadece iyi çalışıyor. Sorun şu ki tablo örneğine gerçekten ihtiyacım var. Ben köşeli 1.07 kullanıyorum.Angularjs. ng-anahtarı bir masanın içinde çalışmaz

<table> 
    <tbody ng-repeat="item in items"> 

    <tr><td>{{ item.heading }}</td></tr> 

    <tr ng-repeat="row in item.fields" ng-switch on="row.nb"> 

    <div ng-switch-when="01"> 
    <td>{{ row.nb }}</td> 
    </div> 

    </tr> 

    </tbody> 

</table> 

<ul ng-repeat="item in items"> 
    <li ng-repeat="row in item.fields" ng-switch on="row.nb"> 

    <div ng-switch-when="01"> 
    {{ row.nb }} 
    </div> 

    </li> 
</ul> 

cevap

10

Bir div bir tr içine geçerli işaretleme olmadığı için aksi takdirde geçersiz olarak göz ardı eder td için ng-switch-when taşımanız gerekir.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/tr div çıkarın ve bunu değiştirin:

<td ng-switch-when="01">{{ row.nb }}</td> 

Demo: Cevabınız için http://plnkr.co/edit/yHkBGekjgGDts8pNtekJ?p=preview

+0

teşekkür ederiz. Örneğim sadeleştirildi. Gerçek kodda birkaç TD: ler var. Belki de TD'leri yeni bir tabloyla değiştirebilirim - ama sanırım tablolardaki hücreler diğer tablolara düzgün bir şekilde hizalanmayacaktır. Her neyse, tek bir TD'nin parametreye (row.nb) bağlı olarak değişmesi çok şanslıydı, böylece çözümünüz benim için iyi çalışıyor. Çok teşekkürler. – user2856066

+0

Tablolar hantal hale gelebilir. Izgaraları (bootstrap) kullanmayı düşünebilirsiniz, ancak hepsi gereksinimlerinize bağlıdır. – lucuma

+0

Bu da iyi bir fikir. Ben zaten twitter bootstrap kullanıyorum bu yüzden bir olasılık. Garip bir şekilde bunu daha yeni düşündüm ve bu çözümle ng-repeat'da yaratılan birkaç tboddan kurtulacağım. Teşekkürler, her iki çözümü de değerlendireceğim. – user2856066