2013-03-14 11 views
10

Live Exampleangolare UI Bootstrap modale strisce id e class attributi

aggiungendo le seguenti Angular UI Bootstrap Modal:

<div id="my-id" class="my-class" modal="opened"> 
    <p>Modal Here</p> 
</div> 

risultati in:

<div class="modal ng-scope"> 
    <p>Modal Here</p> 
</div> 

Perché le id e class attributi sono spogliati?

Vorrei impostare alcuni stili CSS nella finestra di dialogo, ad es. larghezza del dialogo o stile di alcuni elementi interni del dialogo. Come potrei ottenere quello?

+1

'modal' è una direttiva di convenienza di' dialog' che ha molta più flessibilità e opzioni. – charlietfl

+0

Ho provato a impostare la larghezza su un 'div interno, ma il risultato è piuttosto negativo. –

risposta

8

Ecco lo github issue che spiega perché l'ID viene rimosso.

Per quanto riguarda la classe, io non sono sicuro perché sta che spogliato, ma è possibile utilizzare $dialog options per specificare la classe (che risolverà il problema):

<div id="my-id" modal="opened" options="{dialogClass: 'modal my-class'}"> 
    <p>Modal Here</p> 
</div> 
+0

Sembra che l'impostazione 'dialogClass' faccia sì che la modale non venga visualizzata correttamente: http://plnkr.co/edit/PyDqFwY8ejhZVqvzjwq6?preview&p=preview. Immagino sia perché l'impostazione 'dialogClass' rimuove la classe' modal'. Qualche idea su come risolverlo? –

+0

Immagino di poter impostare 'dialogClass: 'modal my-class'', ma sembra un po' hacky. C'è un modo migliore? –

+0

Sì, ho dimenticato la classe modale. Non so in nessun altro modo, non ho usato troppo questo. – Stewie

12

Perché ho appena imbattuto in questo problema irritante me stesso e la documentazione e il comportamento predefinito non è ovvio. È ora possibile passare in classi aggiuntive tramite il metodo $ modal.open() utilizzando l'opzione windowClass:

var modalInstance = $modal.open({ 
     templateUrl: 'templateUrl.html', 
     controller: Controller, 
     windowClass: 'custom-css-class', 
     ... 
    }); 

Impossibile impostare un ID però che è zoppo. Maggiori informazioni nel angular-ui modal docs ufficiale.

+0

sì. ho lottato per giorni finalmente ecco la risposta. –

+0

Alcune risposte rendono la vita così facile. Complimenti. –