Comment définir l'option de sélection de la valeur null dans Angulaire 2

J'ai le balisage suivant:

<select [ngModel]="selectedCategory" 
     (ngModelChange)="selectCategory($event && $event != 'null' ? $event : null)">

  <option [value]="null">(all categories)</option>
  <option *ngFor="let cat of categories" [ngValue]="cat">{{cat.name}}</option>

</select>

et en caractères d'imprimerie:

export class MyComp {
    public categories: Category[];
    public selectedCategory: Category;
    public selectCategory(cat: Category) {
        this.selectedCategory = cat;
        doStuff();
    }
}

Il ne ressemble pas à la façon correcte de le faire. Est-il un autre moins verbeux pour obtenir une option par défaut avec une valeur null (pas 'null')? Je ne peux pas mettre l'option par défaut dans les catégories de la matrice, puisqu'il ne serait gâcher un autre code. Et je n'ai pas l'esprit de la ngModelChange car j'ai besoin d'exécuter du code personnalisé sur la sélection. C'est juste la $event && $event != 'null' ? $event: null partie, je voudrais nettoyer.

Je ne peux pas utiliser [ngValue] sur les options par défaut; il me donne juste une valeur de 0: null (chaîne de caractères). Et ignorer la valeur de réglage de résultats dans la liaison selectedCategory=null de ne pas correspondre à la valeur par défaut de l'option de quitter la zone de liste modifiable non sélectionnés à l'initialisation.

OriginalL'auteur maloo | 2016-05-15