salut, je peux faire factorielle avec angular js , le probléme qui je trouve est récupération du valeur qui saisie en input de type text

voici code du for.html

<!DOCTYPE html>
<html>
<head>
    <title>for</title>
</head>
<body ng-app="MonApp">

    <input type="text" placeholder="tapez votre valeur" ng-model="test">

<div ng-controller="ForCtrl">
    {{ mm }}
</div>

    <script type="text/javascript" src="js/angular.min.js"></script>

    <script src="js/angular-route.min.js"></script>

    <script type="text/javascript" src="js/for.js"></script>

</body>
</html>

code for.js

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

app.controller('ForCtrl', function($scope){

    $scope.mm = 1;
    for(i=1;i< $scope.test;i++) {
        console.log(i);
        $scope.mm = $scope.mm *i;
    }

});

maintenant en affichage en html je trouve Nan et en console je trouve undefined parce que il ne lire pas la valeur $scope.test et quand il fait for (i=1;i<4;i++) le resultat qui affichée est 6 donc probléme est de récupération du valeur du champ input

quelle est la solution et merci d'avance

1 réponse


Jordan Effairesse
Réponse acceptée

ton input n'est pas dans ton controller

<div ng-controller="ForCtrl">
<input type="text" placeholder="tapez votre valeur" ng-model="test">
{{ mm }}
</div>