6
@Component dekoratörünün host özelliğini kullanarak bileşen DOM öğesine bazı nitelikler ve dinleyiciler ekleyen aşağıdaki basit örnek bileşeni oluşturdum. Benim durumumda [ngClass] hiçbir etkisi yoktur. Birisi neden ve nasıl tamir edeceğini biliyor mu?ngClass bileşen dekoratörünün mülkiyet özelliğinde çalışmıyor
import {Injector, Component} from "angular2/core";
import {NgClass} from "angular2/common";
import {SelectionService} from "../selection-service"
@Component({
selector: 'my-component',
template: `<div>inner template</div>`,
host: {
'style': 'background-color: yellow', // works
'[ngClass]': "{'selected': isSelected}", // does not work
'(mouseover)': 'mouseOver($event)', // works
'(mouseleave)': 'mouseLeave($event)' // works
},
directives: [NgClass]
})
export class MyComponent {
private isSelected = false;
constructor(private selectionService:SelectionService) {
this.selectionService.select$.subscribe((sel:Selection) => {
this.isSelected = sel; // has no effect on ngClass
});
}
mouseOver($event) {
console.log('mouseOver works');
}
mouseLeave($event) {
console.log('mouseLeave works');
}
}
Angular 2.0.0-beta.7 kullanıyorum.
Teşekkür olan bir dizidir
[class]="expr"
. Benim özel durumumda 'ngClass' ekledim [class.selected] = "isSelected" ', hangi çalışır. – thinkh'ngClass', çoğunlukla geçiş yapmak istediğiniz sınıf adları dinamik olduğunda (ebeveyn veya benzeri tarafından iletildiğinde) diğer durumlarda mevcut ciltleme ifadelerinin düzgün çalışması gerektiğinde gereklidir. –
Ev sahibi özelliği hakkında ayrıntılı bir açıklama (sözdizimi ve kullanımı) nereden bulabilirim? Angular.io'da API dokümanında neredeyse hiçbir şey yoktur. – user1643352