2015-03-25 39 views
5

Angularjs Önyükleme Sekmeleri ile ilgili bir sorunum var. Varsayılan olarak aktif olmak için dinamik bir sekme istiyorum, ancak aynı sekme içinde statik bir sekme olduğu sürece yapamıyorum. İşte Açısal Önyükleme - Varsayılan sekme etkin (dinamik sekme)

`

<tabset ng-init="tab.active = true"> 
    <tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active"> 
     {{tab.content}} 
    </tab> 
    <tab heading="Static"> 
     Static 
    </tab> 
</tabset> 

bir plunkr açıklamaktır:

http://plnkr.co/edit/DfM6r4tznE9b0K8LqvF0?p=preview

Ben varsayılan olarak seçilecek "Dinamik Başlık 1" istiyorum. Aktif direktifle mümkün mü yoksa aktif durumu idare edecek bir fonksiyon yaratmalı mıyım?

cevap

6

Bunu deneyin.

<tabset> 
    <tab ng-repeat="tab in tabs" heading="{{tab.title}}" active="tab.active" ng-init="tab.active = $index === 0"> 
    {{tab.content}} 
    </tab> 
    <tab heading="Static"> 
    Static 
    </tab> 
</tabset> 

Working Plnkr

+0

Çok teşekkürler! Mükemmel çalışıyor. Nasıl yapılacağını nasıl buldun? Doğrudan direktif kodunda? – Templar

+0

Aww, yeni sayı, bir şey kırdı. Şimdi aktif durumu denetleyiciden değiştiremiyorum. Plnkr bağlantısı: http://plnkr.co/edit/xV7OlVBkYYOv44IdsUHa?p=preview "Yeni" ye tıklayın, aktif durum değişmez. sekme yeni oluşturuldu. Eğer ng-init'i çıkarırsan işe yarıyor. Herhangi bir fikir ? – Templar

+0

Yeni eklenen sekmeyi güncellemek için $ timeout'u kullanın. Güncelleme plnkr: http://plnkr.co/edit/9N4RMaasrG8stw37bHKH?p=preview –