2017-09-29 2 views
1

Je suis noob un peu avec AngularJS je la prochaine div:Set entrée 'valeur' ​​avec fonction AngularJS

<div ng-app="" ng-controller="telController"> 

     Teléfono: <input type="text" ng-model="telefono.numero" ><br> 
     <input type="text" ng-model="telefono.tras" > 
     <br> 
     El telefono es: {{telefono.telefonoCodificado()}} 

    </div> 

La fonction AngularJS est:

function telController($scope) { 
      $scope.telefono = { 
       numero: "", 
       telefonoCodificado: function() { 
        var x; 
        x = $scope.telefono; 

        var parte1; 
        parte1= $scope.telefono.numero; 
        var telCodificado = parte1.substring(0, 3)+"-"+parte1.substring(3, 6)+"-"+parte1.substring(6, 10); 

        return "A) "+x.numero+" <<>> "+ telCodificado; 
       }, 
       tras : function(){ 
        var y; 
        y = $scope.telefono.numero; 
        return y; 
       } 
      }; 
     } 

Je veux l'entrée avec ng -model = 'telefono.tras' se remplir avec la valeur qui ont été tapant dans l'entrée ng-model = "telefono.numero" mais cela ne se passe pas, qu'est-ce que je fais mal?

Répondre

1

Nouvelle réponse:

Après avoir été mis à jour sur la question, de son mieux d'utiliser un ng-change de mettre à jour l'autre variable.

JSFiddle Demo

Old Réponse:

Salut Il n'y a pas besoin d'écrire une fonction distincte pour copier le ng-model (telefono.numero) à la telefono.tras variable, vous pouvez simplement attribuer la même variable. Ainsi.

JSFiddle Demo

Supposons que vous avez besoin telefono.tras peuplé pour une fonction, avant d'appeler la fonction, affecter la valeur telefono.numero-telefono.tras. Par conséquent, si vous voulez remplir telefono.tras, vous pouvez utiliser la méthode $watch() pour cela!

$scope.$watch('telefono.numero', function(newValue, oldValue){ 
    $scope.telefono.tras = newValue; 
}) 

JSFiddle Demo

J'espère que cette réponse était utile, s'il vous plaît laissez-moi savoir s'il y a des problèmes.

Suggestion: La zone de saisie permet à des chiffres et du texte, pour permettre des chiffres dont vous avez besoin d'ajouter une directive, reportez-vous cette link

+0

Merci Naren, j'ai été très utile, mais je regrette en ce moment sur le comme je pose la question. Supposons que je doive définir l'entrée avec la fonction: telefonoCodificado? –

+0

@ HéctorCapulínPatiño Voulez-vous dire par là? [exemple] (https://jsfiddle.net/ynxwmyum/), s'il vous plaît confirmer l'exactitude pour moi de mettre à jour ma réponse –