2016-07-14 3 views
0

Ich habe eine Ansicht wie folgt aus:Wie ein neues Objekt im Geltungsbereich erstellen und Methodenaufrufe der Ansicht verwenden das neue Objekt?

<span ng-if="myobject == null" ng-init="createNewObj()"></span> 
<div>checkIsNull(myobject)</div> 

Die Methode ist:

$scope.createNewObject = function() { $scope.myobject = { name: "test"; } }; 

Aber wenn es läuft, hat es immer myobject als Null in der checkIsNull Methode. Wie erstelle ich dieses Objekt im Bereich und habe es in den späteren Teilen verwendet?

+0

Warum nicht das Objekt im Controller erstellen? – Lex

Antwort

3

gut, ich würde nicht ng-if oder ng-init dafür verwenden. Ich würde das im Controller behandeln. wie folgt aus:

<!DOCTYPE html> 
 

 
<html> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script> 
 
</head> 
 

 
<script> 
 
angular.module('app', []) 
 
    .controller('myController', function($scope) { 
 
    $scope.createNewObject = function() { 
 
     $scope.myobject = { name: "test" }; 
 
    }; 
 
    function activate() { 
 
     if(!$scope.myobject) { 
 
      $scope.createNewObject(); 
 
     } 
 
    } 
 
    activate(); 
 

 
    }); 
 

 
</script> 
 
    <body ng-app="app" > 
 
    <div ng-controller="myController"> 
 
     <span>{{myobject.name}}</span> 
 
    </div> 
 
    </body> 
 

 
</html>

Hoffe, es hilft!

Verwandte Themen