2017-09-29 2 views
1

I 해요 좀 AngularJS와 함께 멍청한 놈 나는 다음 DIV 있습니다세트 '값'입력

<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> 

AngularJS와 기능은 다음과 같습니다

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; 
       } 
      }; 
     } 

내가 NG로 입력을 원하는을 -model = 'telefono.tras'은 입력에 입력 된 값으로 채워집니다. ng-model = "telefono.numero"하지만 그 일은 일어나지 않습니다. 내가 뭘 잘못하고있는 걸까요?

답변

1

새 응답 :이 문제에 업데이트 된 후

는, 그것의 더 나은 다른 변수를 업데이트 할 ng-change를 사용합니다.

JSFiddle Demo

올드 답변 :

안녕하세요, 당신은 단지 같은 변수를 할당 할 수있는 변수 telefono.trasng-model (telefono.numero)를 복사 할 수있는 별도의 기능을 쓸 필요가 없습니다. 그렇게.

JSFiddle Demo

는 다음 함수를 호출하기 전에, telefono.trastelefono.numero 값을 할당, 일부 기능 채워 telefono.tras을 필요로 가정하자.

telefono.tras을 채우려면 $watch() 메서드를 사용하면됩니다. 나는이 답변이 유용 희망

JSFiddle Demo

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

, 어떤 문제가 있는지 알려 주시기 바랍니다.

제안 : 입력 상자 숫자와 텍스트를 허용하고, 나는 매우 도움이되었다, 당신이 지시문을 추가 할 필요가 숫자 만이 link

+0

당신에게 NAREN 감사를 참조 할 수 있지만, 지금 나는 대해 후회합니다 나는 그 질문을한다. 다음과 같은 함수로 입력을 설정해야한다고 가정하십시오. 전화 통신? –

+0

@ HéctorCapulínPatiño 이런 뜻이야? [예] (https://jsfiddle.net/ynxwmyum/), 내 답변을 업데이트 할 수있는 정확성을 확인하십시오. –