单击复选框后,我将显示一个带有两个按钮的模态,接受和不接受。仅当选中接受按钮时,才应选中该复选框。
出于测试目的,我尝试创建此复选框
<input type="checkbox" (change)="foo()" [checked]="false">
期望它执行我组件的foo方法,但从不进行检查。问题是它被检查了!我来自React背景,这非常令人沮丧。
知道我在做什么错吗?
我也尝试过
<input type="checkbox" name="show_recurrency" (change)="foo()" [(ngModel)]="checkout.recurrency" id="show_recurrency" />
foo(e) {
e.preventDefault();
console.error('foooooooooooooooo', e);
this.checkout.recurrency = false;
return;
}
此致
答案 0 :(得分:2)
您可以处理<input type="checkbox" (click)="foo($event)" [checked]="false">
事件:
event.preventDefault()
并致电foo(event) {
event.preventDefault();
console.log("foo was called");
}
以阻止更改:
sourceSets { main { jni.srcDirs = ['src/main/jni', 'src/main/jniLibs/'] } }
有关演示,请参见this stackblitz。
答案 1 :(得分:0)
您可以为其分配一个type OneType = {a: string};
type TwoType = { b: number };
type DefineItem = {
bar: 'one',
baz: OneType
} | {
bar: 'two',
baz: TwoType
};
const item1: DefineItem = {
bar: 'one',
baz: { a: 'hello' }
}
const item2: DefineItem = {
bar: 'two',
baz: { b: 5 }
}
,然后在[(ngModel)]
内将其强制设置为false。