@ inputから来ている属性に基づいて条件付きでdivにdivを適用しようとしていますが、同じ条件がnot @ input (下のtest_activeなどの)属性は、式が正常に動作します。@inputに基づいてAngular2のngClassを評価することはできません
init()関数でconsole.log()プロパティの値を取得できますが、適切な値が得られます。ここで
は私のコンポーネント
import {Component, OnInit, Input} from '@angular/core';
@Component({
selector: 'app-avatar',
template: `
<div
id="avatar"
[ngClass]="{'active': active?true:false, 'inactive': active?false:true}"
></div>
`,
styles: [
...
`#avatar.active { border-color: #77ED00;}`,
`#avatar.inactive {filter: grayscale(100%); border-color: red}`
]
})
export class AvatarComponent implements OnInit {
@Input() active;
test_active = true;
constructor() { }
ngOnInit() {
console.log(this.active); //true
}
}
ここでうまく動作します:https://plnkr.co/edit/6hOyjh0PlXRr20i49xJ3?p=preview。該当するコードをplunkrに投稿して、問題を再現してください。 –