(欢迎任何人重新回答我的问题,我不确定该如何措辞)
假设我创建了一个Angular组件,如下所示:
<app-my-test></app-my-test>
如何通过仅在组件中输入选项来允许用户设置选项的开启和关闭,就像这样:
<app-my-test booleanCheck></app-my-test>
然后在我的.ts文件中,如果他们添加booleanCheck
,我希望它为true;如果他们没有添加,我希望它为false。下面是一个闪电战。目标是让console.log
记录true
(如果添加了booleanCheck
,如果没有添加false
,则记录<app-my-test booleanCheck="true"></app-my-test>
<app-my-test [booleanCheck]="true"></app-my-test>
。
https://stackblitz.com/edit/angular-xr3p84?file=src%2Fapp%2Fapp.module.ts
我不希望这是答案:
CString Str3 = "123" + Str1;
答案 0 :(得分:8)
您可以@Transactional
public void methodTest{
a.insertIntoDbTableOne();
b.insertIntoDbTableTwo();
}
public void methodTestTwo{
try{
System.out.println("Start");
methodTest();
}catch(Throwable e){
e.printStackTrace();
System.out.println("This is the catch statement");
}finally{
System.out.println("this is finally");
}
}
中的leverage
中的setter
,如果@Input
可用,则会被调用。
input
答案 1 :(得分:5)
您将必须创建一条指令,该指令将在主机组件中为您设置属性(请注意,该属性可能不再是@Input
):
@Component({
selector: 'my-test',
templateUrl: './app.test.html',
styleUrls: [ './app.test.css' ]
})
export class TestComponent implements OnInit {
public booleanCheck: boolean;
ngOnInit() {
console.log('ngOnInit');
console.log(this.booleanCheck);
}
}
@Directive({
selector: '[booleanCheck]'
})
export class BooleanCheck {
constructor(@Host() @Self() @Optional() host: TestComponent) {
host.booleanCheck = true;
}
}
(有关更简单的解决方案,请查看here)
答案 2 :(得分:0)
一种解决方案可能是检查变量booleanCheck
是否未定义。这将console.log(this.booleanCheck)
一个空字符串:
<app-my-test booleanCheck></app-my-test>
这将console.log(this.booleanCheck)
未定义
<app-my-test></app-my-test>
因此您可以使用它来分配false if undefined
和true if it is an empty string
答案 3 :(得分:0)
由于您要将属性传递给自定义组件,因此无法像您希望的那样添加它。您正在将输入传递给自定义组件,它应该像
<app-my-test [booleanCheck]="true"></app-my-test>
在您的组件中可以像
@Input() booleanCheck;
如果它是true / false,则可以启用/禁用日志。
希望我回答了你的问题。