2016-04-01 19 views
10

Jak sprawdzić, czy zmienna jest pusta w Angular 2? Wiem, że istnieją sposoby, takie jak natywneSprawdź, czy zmienna jest pusta - kątowa 2

if (myVar === null) {do stuff}

ale szukam czegoś jak kątowa 1 miał takie jak

if (angular.isEmpty(variable)) { do stuff }.

Q Jak sprawdzić, czy zmienna jest pusta przy użyciu Angular 2?

Odpowiedz

3

Można tu grać z różnymi rodzajami i sprawdzić wyjście,

Demo

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 
     } 
    } 

} 
7

Powiedzmy mamy zmienną o nazwie X, jak poniżej:

var x; 

następujące oświadczenie jest ważny,

x = 10; 
x = "a"; 
x = 0; 
x = undefined; 
x = null; 

1. Numer:

x = 10; 
if(x){ 
//True 
} 

i x = undefined lub x = 0 (uwaga tutaj)

if(x){ 
//False 
} 

2. String x = null, x = undefined lub x = ""

if(x){ 
    //False 
} 

3 Boolean x = false i x = undefined,

if(x){ 
    //False 
} 

Trzymając się powyższego możemy łatwo sprawdzić, czy zmienna jest pusta, null, 0 lub niezdefiniowana w Angular js. Angular js doest zapewnia osobne API do sprawdzania pustki wartości zmiennych.

3
if(myVariable) 
{ 
    //mayVariable is not : 
    //null 
    //undefined 
    //NaN 
    //empty string ("") 
    //0 
    //false 
} 
1

Ar Szukasz że:

isEmptyObject(obj) { 
    return (obj && (Object.keys(obj).length === 0)); 
} 

(znaleziono here)

lub że:

function isEmpty(obj) { 
    for(var key in obj) { 
     if(obj.hasOwnProperty(key)) 
      return false; 
    } 
    return true; 
} 

znaleźć here

1
user:Array[]=[1,2,3]; 
if(this.user.length) 
{ 
    console.log("user has contents"); 
} 
else{ 
    console.log("user is empty"); 
} 
0

Zależy od typu, jakiego można oczekiwać od zmiennej. Jeśli jest to obiekt:

public isEmpty(obj) { 
    return (obj && (Object.keys(obj).length === 0)); 
} 

if (isEmpty(variable)) { do stuff } 
Powiązane problemy