Ho visto qui due domande su come aggiungere e rimuovere condizionatamente attributi su un oggetto (Is it possible to conditionally display element attributes using Angular2?) ma la mia domanda è se è possibile aggiungere e rimuovere le direttive di attributo ? Sono in grado di aggiungere e rimuovere l'attributo, ma Angular non "compila" l'attributo come una direttiva di attributo, ma l'attributo si trova semplicemente lì senza fare nulla. Ecco un esempio di 2 tag:Angular 2 addizionalmente aggiunge direttive attributo
Il primo è quello che sto cercando di applicare in modo condizionale la direttiva attributo e il secondo ha tutto il tempo.
Ecco come Mi candido l'attributo (forse c'è un modo diverso di applicazione della direttiva attributo?)
<h1 [attr.colored]="check ? '': null">Testing something</h1>
E qui è la direttiva:
import {Directive, ElementRef} from '@angular/core'
@Directive({
selector: '[colored]',
host: {
'(mouseenter)': 'onMouseEnter()',
'(mouseleave)': 'onMouseLeave()'
}
})
export class colorDirective {
constructor(private el: ElementRef) {
}
onMouseEnter() { this.highlight("yellow"); }
onMouseLeave() { this.highlight(null); }
private highlight(color: string) {
this.el.nativeElement.style.backgroundColor = color;
}
}
Edit: ci sono risposte coppia ma lo sono per AngularJS (1)
esiste un modo come forzare angolare di ricompilare quell'elemento in qualche modo di applicarla? o c'è un modo diverso come farlo? Non ne ho bisogno in questo momento, ma ero solo curioso –
Non per quanto ne so. Quello che puoi fare è aggiungere un elemento con e uno senza il selettore di direttiva e usare 'ngIf' per cambiare quale deve essere aggiunto/rimosso dal DOM. –
@ GünterZöchbauer puoi per favore dare un'occhiata alla mia domanda forse hai un'idea http://stackoverflow.com/questions/37489029/how-can-i-get-the-value-from-json-url – Abderrahim