条件@HostBinding 取决于@Input()
Conditional @HostBinding depending on @Input()
我正在尝试将 CSS class foo
绑定到我的主机组件,使用 @HostBinding
取决于我在 [=18= 上进行的测试]动态 变量。
但无法使其正常工作。
这是我已经尝试过的:
export class MyComponent {
@Input()
public input: string;
@HostBinding('class.foo')
public isFoo: Boolean = this.inputIsCorrect();
constructor() {
}
private inputIsCorrect(){
return (this.input != 'not correct');
}
}
我怎样才能让它发挥作用?我可能在想办法听 input
变化?
试试这个方法。使@Input 属性 getter/setter 并从setter 设置isFoo
。
export class MyComponent {
@Input()
public get input (): string {
return this._input;
}
public set input (val: string) {
this._input = val;
// when the input is set check it and set isFoo;
this.isFoo = (val != 'not correct');
}
@HostBinding('class.foo')
public isFoo: Boolean = false; // false is init value
constructor() {
}
}
你所做的几乎是正确的:
export class MyComponent {
@Input()
public input: string;
@HostBinding('class.foo')
public get isFoo(): Boolean {
return this.input !== 'not correct';
}
}
我正在尝试将 CSS class foo
绑定到我的主机组件,使用 @HostBinding
取决于我在 [=18= 上进行的测试]动态 变量。
但无法使其正常工作。
这是我已经尝试过的:
export class MyComponent {
@Input()
public input: string;
@HostBinding('class.foo')
public isFoo: Boolean = this.inputIsCorrect();
constructor() {
}
private inputIsCorrect(){
return (this.input != 'not correct');
}
}
我怎样才能让它发挥作用?我可能在想办法听 input
变化?
试试这个方法。使@Input 属性 getter/setter 并从setter 设置isFoo
。
export class MyComponent {
@Input()
public get input (): string {
return this._input;
}
public set input (val: string) {
this._input = val;
// when the input is set check it and set isFoo;
this.isFoo = (val != 'not correct');
}
@HostBinding('class.foo')
public isFoo: Boolean = false; // false is init value
constructor() {
}
}
你所做的几乎是正确的:
export class MyComponent {
@Input()
public input: string;
@HostBinding('class.foo')
public get isFoo(): Boolean {
return this.input !== 'not correct';
}
}