Check if Variable is Empty - Angular 2
如何在Angular 2中检查变量是否为空? 我知道有一些本地方式,比如
但我正在寻找像Angular 1这样的东西
问如何使用Angular 2检查变量是否为空?
假设我们有一个名为x的变量,如下所示:
1 | var x; |
以下声明有效,
1 2 3 4 5 | x = 10; x ="a"; x = 0; x = undefined; x = null; |
1.号码:
1 2 3 4 | x = 10; if(x){ //True } |
对于
1 2 3 | if(x){ //False } |
2.字符串
1 2 3 | if(x){ //False } |
3布尔
1 2 3 | if(x){ //False } |
通过牢记这一点,我们可以轻松地检查Angular js中的变量是否为空,null,0或未定义。 Angular js doest提供单独的API来检查变量值空白。
1 2 3 4 5 6 7 8 9 10 | if( myVariable ) { //mayVariable is not : //null //undefined //NaN //empty string ("") //0 //false } |
你可以在这里玩不同的类型并检查输出,
演示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | export class ParentCmp { myVar:stirng="micronyks"; myVal:any; myArray:Array[]=[1,2,3]; myArr:Array[]; constructor() { if(this.myVar){ console.log('has value') // answer } else{ console.log('no value'); } if(this.myVal){ console.log('has value') } else{ console.log('no value'); //answer } if(this.myArray){ console.log('has value') //answer } else{ console.log('no value'); } if(this.myArr){ console.log('has value') } else{ console.log('no value'); //answer } } } |
1 2 3 4 5 6 7 8 | user:Array[]=[1,2,3]; if(this.user.length) { console.log("user has contents"); } else{ console.log("user is empty"); } |
你在寻找那个:
1 2 3 | isEmptyObject(obj) { return (obj && (Object.keys(obj).length === 0)); } |
(在这里找到)
或者那个 :
1 2 3 4 5 6 7 | function isEmpty(obj) { for(var key in obj) { if(obj.hasOwnProperty(key)) return false; } return true; } |
在这里找到
如果没有Angular 4空数据
1 2 3 4 5 6 7 8 | if(this.data == 0) { alert("Null data"); } else { //some logic } |
这取决于你是否知道给定的变量Type。如果您希望它是一个Object,那么您可以检查myVar是否为空对象,如下所示:
1 2 3 | public isEmpty(myVar): boolean { return (myVar && (Object.keys(myVar).length === 0)); } |
否则:if(!myVar){},应该做的工作