2016-12-10 7 views
0

Wie kann ich die 'typeImageToLoad'-Variable null setzen, wenn ($ scope.pageToModify.image.type, $ scope.pageToModify.image oder $ scope.pageToModify) null oder Undefined sein kann ?Angular, Check Undefined in Pfadvariable - Lambda-Funktion

Ist es besser, Lambda-Funktion zu verwenden?

Dieses Beispiel funktioniert nicht.

if($scope.pageToModify.image.type){ 
      $scope.typeImageToLoad = $scope.pageToModify.image.type; 
    }else { 
      $scope.typeImageToLoad = null; 
    } 
    $scope.loadImage($scope.typeImageToLoad); 

Einige Ratschläge?

+0

Ehrlich gesagt habe ich nicht verstehe Ihre Frage, können bist du klarer? – AndreaM16

+1

Sie haben einen Widerspruch in Ihrer Frage. Sie erwähnen '$ scope.pageToModify.image.type' und' $ scope.type'. Welches der beiden ist es? Ist 'type' eine Eigenschaft von' $ scope' oder von '$ scope.pageToModify.image'? – trincot

Antwort

1

Die Bedingung muss für das Vorhandensein jeder Eigenschaft separat überprüfen:

if($scope.pageToModify && $scope.pageToModify.image && $scope.pageToModify.image.type){ 

Beachten Sie, dass die if...else Code mit diesem ersetzen:

$scope.typeImageToLoad = 
    $scope.pageToModify && $scope.pageToModify.image && $scope.pageToModify.image.type 
    || null;