2015-03-25 27 views
5

Ho un problema con le schede Bootstrap di Angularjs. Voglio che una scheda dinamica sia attiva per impostazione predefinita, ma a quanto pare non posso fintanto che ho una scheda statica all'interno della stessa scheda.Bootstrap angolare - Scheda predefinita attiva (scheda dinamica)

<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> 

`

Ecco un plunkr per spiegare:

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

voglio "Titolo Dinamico 1" deve essere selezionata per impostazione predefinita. È possibile con la direttiva attiva o devo creare una funzione che gestirà lo stato attivo?

risposta

6

Prova questo.

<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

Thanks a lot! Funziona perfettamente. Come hai trovato come si fa? Direttamente nel codice della direttiva? – Templar

+0

Aww, nuovo numero, ha rotto qualcosa. Ora non posso modificare lo stato attivo dal controller. Link di plnkr: http://plnkr.co/edit/xV7OlVBkYYOv44IdsUHa?p=preview Fare clic su "Nuovo", lo stato attivo non cambia in la scheda appena creata. Se togli il ng-init, funziona. Qualche idea ? – Templar

+0

Utilizzare $ timeout per aggiornare la scheda appena aggiunta. Aggiornamento plnkr: http://plnkr.co/edit/9N4RMaasrG8stw37bHKH?p=preview –

Problemi correlati