2016-03-15 1 views
0

У меня есть класс дротика писать так:передать переменную HTML страницы в Angular2js/Dart

@Component(selector: 'my-content', templateUrl: '../../views/example.html', directives: const [NgFor, NgIf, NgStyle, NgClass], pipes: const [LowerCasePipe, JoinByPipe]) 

class ContentComponent implements OnInit { 
@Input() 
ContentComponent(@Inject(ContentService) this.contentService, @Inject(LoggerService) this.log) { 

    } 

    @override 
    ngOnInit() 
    { 
    this.className = '.Ciao'; 
    } 

В example.html Я делаю это

<span class="pull-right channel" [ngClass]="{className}">some content</span> 

Когда я строй этого проект Я принимаю это сообщение:

<span class="pull-right channel" [ERROR ->][ngClass]="{className}">some content</span> 

который является правильным синтаксисом?

+0

'@Inject (ContentService)' и '@Inject (LoggerService)' являются избыточными, если поля имеют один и тот же тип. –

ответ

2

Вы можете использовать этот синтаксис директивы: Если ciaoClass верно, добавляемые

<span class="pull-right channel" [ngClass]="{Ciao:ciaoClass}">some content</span> 

и

ngOnInit() { 
    this.ciaoClass = true; 
} 

класс и, если оно ложно, то он будет удален ...

Вы также можете предоставить массив (или строку с пробелами) до [ngClass], соответствующий всем классам, которые вы хотите установить.

<span class="pull-right channel" [ngClass]="className">some content</span> 

и

ngOnInit() { 
    this.className = [ 'Ciao' ]; 
    // or 
    // this.className = 'Ciao'; 
} 

Смотрите здесь:

Смежные вопросы