如果条件成功,则尝试在三元运算符内使用多个方法(this.test(),this.flag = true)。但不起作用。出现如下错误:
应为“:"。
public core = [1];
public mare = [2];
public flag:boolean = false;
public msg:string;
ngOnInit() {
this.core.length == 1 && this.mare.length == 1 ? this.msg = 'Done', this.flag = true : '';
}
test() {
console.log('Done');
console.log()
}
演示:https://stackblitz.com/edit/angular-ivy-n7txpp?file=src%2Fapp%2Fapp.component.ts
2条答案
按热度按时间ohtdti5x1#
不要滥用三元运算符--它们不能代替
if
语句。它们只应该在非常简单的情况下使用。使用if
语句可以使你的代码更简洁,更易于维护。4c8rllxm2#
使用
()
或将
this.flag=true
移动到test
中虽然评论中指出
为什么要用三元条件运算符?你不用赋值,只用if语句/block. if(this. core. length == 1 && this. mare. length == 1){this. test();此标志=真;}