I want to make notification bar and have HTML template as this one:
<ul>
<li *ngFor="let notification of notifications">
<div class="message"> ... </div>
</li>
</ul>
But for different notifications, there should be different message
templates, like these:
<div class="message"> <b>NEW</b> message arrived </div> or
<div class="message"> Message is <b>DELETED</b> </div> or
<div class="message"> Your message is <b>SENT</b> </div> etc...
I could make an ugly method in component to print message with these HTML tags, but is there more elegant way to this?
ugly method:
resolveMessage(status) {
if (status == 'new') {
return '<b>NEW</b> message arrived';
} else if (status == 'sent') {
return 'Your message is <b>SENT</b>';
}
}
<div class="message"> {{ resolveMessage(notification.status) }} </div>
components.ts
template.html
Ng-run Example