9 votes

Les éléments de formulaire n'apparaissent pas dans $scope

Voici le début de mon formulaire...

<div ng-form name="CustomerForm" ng-controller="Customer">

Voici mon contrôleur...

app.controller('Customer', ['$scope', function ($scope) {

   alert($scope.CustomerForm);
}]);

$scope.CustomerForm est indéfinie. Le formulaire ne devrait-il pas être ajouté à la portée ?

13voto

Eric Hotinger Points 8452

Au moment de votre déclaration d'alerte, le CustomerForm n'est pas dans $scope encore.

Les contrôleurs sont faits pour :

  1. Créer un état initial d'un objet scope.
  2. Ajouter un comportement à cet objet d'étendue.

Lire la suite ici sur les contrôleurs.


La "solution" ?

Voir ici : DEMO

JS :

var app = angular.module('myApp',[]);

app.controller('Customer', ['$scope', function ($scope) {

    $scope.getFormName = function(){
        console.log($scope.CustomerForm.$name);
    }
}]);

HTML :

<div ng-form name="CustomerForm" ng-controller="Customer">
    <button ng-click="getFormName()">CLICK</button>
</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X