J'essaye de faire une simple console.log()
à partir de cette portée $:
<div ng-controller="CustomerController" id="customer-block">
<h3>Customer Information</h3>
<div class="col-md-4">
<label>Address 1:</label>
<input type="text" ng-model="customer.address1" class="form-content"
id="customer-address1" />
</div>
<div class="col-md-4">
<label>Address 2:</label>
<input type="text" ng-model="customer.address2" class="form-content"
id="customer-address2" />
</div>
<div class="col-md-4">
<label>City</label>
<input type="text" ng-model="customer.city" class="form-content"
id="customer-city" />
</div>
</div>
Voici mon fichier javascript:
lima3app.controller("CustomerController", function($scope){
console.log($scope.customer);
});
Mais le journal me renvoie indéfini . Qu'est-ce qui ne va pas avec ça?
C'est le plunkr: http://plnkr.co/edit/MU2i46o03bs22Jwh6QIe
Comme les autres l'ont dit, vous devez initialiser l'objet client.
Puisqu'il n'y a aucune valeur de client définie par le contrôleur, il apparaît comme indéfini dans la vue. Lorsque vous entrez des valeurs dans les zones de saisie, cela ne sera plus indéfini, mais comme la journalisation n'est effectuée qu'une seule fois initialement, la saisie de valeurs dans la zone de saisie n'a aucun effet.
Voici la partie que j'ai changé dans script.js
lima3app.controller("CustomerController", function($scope){
$scope.customer = {
address1 : 'address1',
address2 : 'address2',
city:'city'
}
console.log($scope.customer);
});
Parce que votre code JS
console.log($scope.customer);
exécuté lorsque vous lancez le contrôleur CustomerController, à ce moment-là $ scope.customer n'a aucune valeur et il retourne undefined.